From e017bddbc2a7a350a11bcab2eaee2c52c2c17d2a Mon Sep 17 00:00:00 2001 From: Rob Browning Date: Wed, 26 Mar 2008 08:50:51 -0500 Subject: [PATCH] Import emacs22_22.2+1.orig.tar.gz. --- AUTHORS | 380 +- CONTRIBUTE | 4 +- COPYING | 911 +- ChangeLog | 65 +- INSTALL | 4 +- Makefile.in | 7 +- README | 8 +- config.bat | 4 +- config.guess | 47 +- config.sub | 54 +- configure | 59 +- configure.in | 63 +- etc/COPYING | 911 +- etc/ChangeLog | 139 +- etc/DEBUG | 6 +- etc/DISTRIB | 4 +- etc/ERC-NEWS | 4 +- etc/ETAGS.EBNF | 11 +- etc/ETAGS.README | 11 +- etc/GNUS-NEWS | 11 +- etc/HELLO | 4 +- etc/MACHINES | 4 +- etc/MAILINGLISTS | 2 +- etc/MH-E-NEWS | 4 +- etc/MORE.STUFF | 6 +- etc/Makefile | 4 +- etc/NEWS | 205 +- etc/NEWS.1-17 | 6 +- etc/NEWS.18 | 4 +- etc/NEWS.19 | 9 +- etc/NEWS.20 | 4 +- etc/NEWS.21 | 6 +- etc/PROBLEMS | 104 +- etc/README | 12 +- etc/TERMS | 11 +- etc/TODO | 10 +- etc/TUTORIAL | 11 +- etc/TUTORIAL.bg | 11 +- etc/TUTORIAL.cn | 10 +- etc/TUTORIAL.cs | 9 +- etc/TUTORIAL.de | 35 +- etc/TUTORIAL.eo | 12 +- etc/TUTORIAL.es | 10 +- etc/TUTORIAL.fr | 10 +- etc/TUTORIAL.it | 10 +- etc/TUTORIAL.ja | 10 +- etc/TUTORIAL.ko | 10 +- etc/TUTORIAL.nl | 12 +- etc/TUTORIAL.pl | 10 +- etc/TUTORIAL.pt_BR | 9 +- etc/TUTORIAL.ro | 11 +- etc/TUTORIAL.ru | 633 +- etc/TUTORIAL.sk | 9 +- etc/TUTORIAL.sl | 10 +- etc/TUTORIAL.sv | 9 +- etc/TUTORIAL.th | 8 +- etc/TUTORIAL.zh | 2 +- etc/calccard.tex | 6 +- etc/compilation.txt | 12 +- etc/cs-dired-ref.tex | 6 +- etc/cs-refcard.tex | 6 +- etc/cs-survival.tex | 6 +- etc/de-refcard.tex | 6 +- etc/dired-ref.tex | 6 +- etc/edt-user.doc | 8 +- etc/emacs-buffer.gdb | 4 +- etc/emacs.1 | 613 +- etc/emacs.bash | 4 +- etc/emacs.py | 8 +- etc/emacstool.1 | 2 +- etc/enriched.doc | 12 +- etc/etags.1 | 21 +- etc/fr-drdref.tex | 6 +- etc/fr-refcard.tex | 6 +- etc/fr-survival.tex | 6 +- etc/gnus-logo.eps | 22 + etc/gnus-refcard.tex | 2 +- etc/gnus-tut.txt | 4 +- etc/grep.txt | 11 +- etc/images/README | 120 +- etc/images/cancel.pbm | Bin 634 -> 81 bytes etc/images/copy.pbm | Bin 1786 -> 127 bytes etc/images/ezimage/README | 4 +- etc/images/gnus/README | 26 +- etc/images/gnus/mail-send.xpm | 39 + etc/images/gud/README | 8 +- etc/images/icons/README | 4 +- etc/images/mail/README | 11 +- etc/images/next-node.pbm | Bin 1786 -> 127 bytes etc/images/prev-node.pbm | Bin 1786 -> 127 bytes etc/images/save.pbm | Bin 1786 -> 127 bytes etc/images/smilies/README | 4 +- etc/images/up-node.pbm | Bin 1786 -> 127 bytes etc/orgcard.tex | 6 +- etc/pl-refcard.tex | 6 +- etc/ps-prin0.ps | 4 +- etc/ps-prin1.ps | 4 +- etc/pt-br-refcard.tex | 6 +- etc/refcard.ps | 573 +- etc/refcard.tex | 22 +- etc/ru-refcard.tex | 4 +- etc/ses-example.ses | 12 +- etc/sk-dired-ref.tex | 6 +- etc/sk-refcard.tex | 6 +- etc/sk-survival.tex | 6 +- etc/splash.xpm | 4 +- etc/splash8.xpm | 4 +- etc/survival.tex | 6 +- etc/tree-widget/default/README | 4 +- etc/tree-widget/folder/README | 4 +- etc/vipcard.tex | 32 +- etc/viperCard.tex | 32 +- info/COPYING | 911 +- leim/COPYING | 911 +- leim/ChangeLog | 52 +- leim/Makefile.in | 9 +- leim/README | 4 +- leim/leim-ext.el | 6 +- leim/makefile.w32-in | 11 +- leim/quail/croatian.el | 5 +- leim/quail/cyril-jis.el | 6 +- leim/quail/cyrillic.el | 6 +- leim/quail/czech.el | 4 +- leim/quail/ethiopic.el | 4 +- leim/quail/georgian.el | 4 +- leim/quail/greek.el | 6 +- leim/quail/hangul.el | 6 +- leim/quail/hangul3.el | 8 +- leim/quail/hanja-jis.el | 4 +- leim/quail/hanja.el | 6 +- leim/quail/hanja3.el | 4 +- leim/quail/hebrew.el | 5 +- leim/quail/indian.el | 17 +- leim/quail/ipa.el | 4 +- leim/quail/japanese.el | 6 +- leim/quail/lao.el | 4 +- leim/quail/latin-alt.el | 404 +- leim/quail/latin-ltx.el | 8 +- leim/quail/latin-post.el | 8 +- leim/quail/latin-pre.el | 6 +- leim/quail/lrt.el | 6 +- leim/quail/py-punct.el | 6 +- leim/quail/pypunct-b5.el | 4 +- leim/quail/rfc1345.el | Bin 31796 -> 31802 bytes leim/quail/sgml-input.el | 4 +- leim/quail/sisheng.el | 4 +- leim/quail/slovak.el | 4 +- leim/quail/symbol-ksc.el | 6 +- leim/quail/thai.el | 4 +- leim/quail/tibetan.el | 6 +- leim/quail/uni-input.el | 6 +- leim/quail/viqr.el | 4 +- leim/quail/vntelex.el | 4 +- leim/quail/welsh.el | 4 +- lib-src/COPYING | 911 +- lib-src/ChangeLog | 91 +- lib-src/Makefile.in | 17 +- lib-src/cvtmail.c | 4 +- lib-src/digest-doc.c | 4 +- lib-src/ebrowse.c | 7 +- lib-src/emacsclient.c | 165 +- lib-src/emacstool.c | 4 +- lib-src/etags.c | 93 +- lib-src/fakemail.c | 4 +- lib-src/getopt.c | 2 +- lib-src/getopt1.c | 2 +- lib-src/getopt_.h | 2 +- lib-src/getopt_int.h | 2 +- lib-src/gettext.h | 2 +- lib-src/grep-changelog | 4 +- lib-src/hexl.c | 11 +- lib-src/make-docfile.c | 5 +- lib-src/makefile.w32-in | 14 +- lib-src/movemail.c | 6 +- lib-src/ntlib.c | 4 +- lib-src/ntlib.h | 4 +- lib-src/pop.c | 41 +- lib-src/pop.h | 4 +- lib-src/profile.c | 4 +- lib-src/rcs-checkin | 4 +- lib-src/rcs2log | 6 +- lib-src/sorted-doc.c | 4 +- lib-src/test-distrib.c | 4 +- lib-src/update-game-score.c | 5 +- lib-src/vcdiff | 4 +- lisp/COPYING | 911 +- lisp/ChangeLog | 4244 ++++++- lisp/ChangeLog.1 | 4 +- lisp/ChangeLog.10 | 8 +- lisp/ChangeLog.11 | 6 +- lisp/ChangeLog.2 | 4 +- lisp/ChangeLog.3 | 4 +- lisp/ChangeLog.4 | 4 +- lisp/ChangeLog.5 | 4 +- lisp/ChangeLog.6 | 4 +- lisp/ChangeLog.7 | 4 +- lisp/ChangeLog.8 | 4 +- lisp/ChangeLog.9 | 4 +- lisp/Makefile.in | 28 +- lisp/abbrev.el | 10 +- lisp/abbrevlist.el | 4 +- lisp/add-log.el | 43 +- lisp/align.el | 4 +- lisp/allout.el | 413 +- lisp/ansi-color.el | 4 +- lisp/apropos.el | 4 +- lisp/arc-mode.el | 4 +- lisp/array.el | 4 +- lisp/autoarg.el | 4 +- lisp/autoinsert.el | 8 +- lisp/autorevert.el | 22 +- lisp/avoid.el | 4 +- lisp/battery.el | 4 +- lisp/bindings.el | 12 +- lisp/bookmark.el | 18 +- lisp/bs.el | 112 +- lisp/buff-menu.el | 4 +- lisp/button.el | 4 +- lisp/calc/README | 6 +- lisp/calc/calc-aent.el | 4 +- lisp/calc/calc-alg.el | 4 +- lisp/calc/calc-arith.el | 4 +- lisp/calc/calc-bin.el | 4 +- lisp/calc/calc-comb.el | 4 +- lisp/calc/calc-cplx.el | 4 +- lisp/calc/calc-embed.el | 4 +- lisp/calc/calc-ext.el | 4 +- lisp/calc/calc-fin.el | 4 +- lisp/calc/calc-forms.el | 4 +- lisp/calc/calc-frac.el | 4 +- lisp/calc/calc-funcs.el | 4 +- lisp/calc/calc-graph.el | 4 +- lisp/calc/calc-help.el | 6 +- lisp/calc/calc-incom.el | 4 +- lisp/calc/calc-keypd.el | 4 +- lisp/calc/calc-lang.el | 4 +- lisp/calc/calc-macs.el | 4 +- lisp/calc/calc-map.el | 4 +- lisp/calc/calc-math.el | 4 +- lisp/calc/calc-misc.el | 4 +- lisp/calc/calc-mode.el | 4 +- lisp/calc/calc-mtx.el | 4 +- lisp/calc/calc-poly.el | 4 +- lisp/calc/calc-prog.el | 4 +- lisp/calc/calc-rewr.el | 4 +- lisp/calc/calc-rules.el | 4 +- lisp/calc/calc-sel.el | 4 +- lisp/calc/calc-stat.el | 4 +- lisp/calc/calc-store.el | 4 +- lisp/calc/calc-stuff.el | 4 +- lisp/calc/calc-trail.el | 4 +- lisp/calc/calc-undo.el | 4 +- lisp/calc/calc-units.el | 4 +- lisp/calc/calc-vec.el | 4 +- lisp/calc/calc-yank.el | 4 +- lisp/calc/calc.el | 4 +- lisp/calc/calcalg2.el | 4 +- lisp/calc/calcalg3.el | 4 +- lisp/calc/calccomp.el | 4 +- lisp/calc/calcsel2.el | 4 +- lisp/calculator.el | 4 +- lisp/calendar/appt.el | 4 +- lisp/calendar/cal-bahai.el | 4 +- lisp/calendar/cal-china.el | 4 +- lisp/calendar/cal-coptic.el | 4 +- lisp/calendar/cal-dst.el | 4 +- lisp/calendar/cal-french.el | 4 +- lisp/calendar/cal-hebrew.el | 4 +- lisp/calendar/cal-html.el | 4 +- lisp/calendar/cal-islam.el | 4 +- lisp/calendar/cal-iso.el | 4 +- lisp/calendar/cal-julian.el | 4 +- lisp/calendar/cal-mayan.el | 4 +- lisp/calendar/cal-menu.el | 4 +- lisp/calendar/cal-move.el | 4 +- lisp/calendar/cal-persia.el | 4 +- lisp/calendar/cal-tex.el | 836 +- lisp/calendar/cal-x.el | 4 +- lisp/calendar/calendar.el | 11 +- lisp/calendar/diary-lib.el | 4 +- lisp/calendar/holidays.el | 4 +- lisp/calendar/icalendar.el | 12 +- lisp/calendar/lunar.el | 4 +- lisp/calendar/parse-time.el | 4 +- lisp/calendar/solar.el | 4 +- lisp/calendar/time-date.el | 8 +- lisp/calendar/timeclock.el | 69 +- lisp/calendar/todo-mode.el | 4 +- lisp/case-table.el | 4 +- lisp/cdl.el | 4 +- lisp/chistory.el | 4 +- lisp/cmuscheme.el | 4 +- lisp/comint.el | 49 +- lisp/compare-w.el | 4 +- lisp/complete.el | 4 +- lisp/completion.el | 4 +- lisp/composite.el | 5 +- lisp/cus-dep.el | 4 +- lisp/cus-edit.el | 86 +- lisp/cus-face.el | 4 +- lisp/cus-load.el | 42 +- lisp/cus-start.el | 42 +- lisp/cus-theme.el | 4 +- lisp/custom.el | 19 +- lisp/cvs-status.el | 4 +- lisp/dabbrev.el | 4 +- lisp/delim-col.el | 4 +- lisp/delsel.el | 8 +- lisp/descr-text.el | 4 +- lisp/desktop.el | 588 +- lisp/dframe.el | 186 +- lisp/diff-mode.el | 243 +- lisp/diff.el | 7 +- lisp/dired-aux.el | 23 +- lisp/dired-x.el | 4 +- lisp/dired.el | 41 +- lisp/dirtrack.el | 4 +- lisp/disp-table.el | 4 +- lisp/dnd.el | 6 +- lisp/dos-fns.el | 4 +- lisp/dos-vars.el | 4 +- lisp/dos-w32.el | 4 +- lisp/double.el | 7 +- lisp/ebuff-menu.el | 4 +- lisp/echistory.el | 4 +- lisp/ediff-diff.el | 8 +- lisp/ediff-help.el | 4 +- lisp/ediff-hook.el | 26 +- lisp/ediff-init.el | 6 +- lisp/ediff-merg.el | 4 +- lisp/ediff-mult.el | 4 +- lisp/ediff-ptch.el | 4 +- lisp/ediff-util.el | 4 +- lisp/ediff-vers.el | 4 +- lisp/ediff-wind.el | 4 +- lisp/ediff.el | 4 +- lisp/edmacro.el | 4 +- lisp/ehelp.el | 4 +- lisp/electric.el | 4 +- lisp/elide-head.el | 4 +- lisp/emacs-lisp/advice.el | 26 +- lisp/emacs-lisp/assoc.el | 4 +- lisp/emacs-lisp/authors.el | 4 +- lisp/emacs-lisp/autoload.el | 4 +- lisp/emacs-lisp/backquote.el | 61 +- lisp/emacs-lisp/benchmark.el | 4 +- lisp/emacs-lisp/bindat.el | 4 +- lisp/emacs-lisp/byte-opt.el | 14 +- lisp/emacs-lisp/byte-run.el | 12 +- lisp/emacs-lisp/bytecomp.el | 57 +- lisp/emacs-lisp/checkdoc.el | 9 +- lisp/emacs-lisp/cl-compat.el | 4 +- lisp/emacs-lisp/cl-extra.el | 4 +- lisp/emacs-lisp/cl-indent.el | 4 +- lisp/emacs-lisp/cl-loaddefs.el | 1234 ++ lisp/emacs-lisp/cl-macs.el | 26 +- lisp/emacs-lisp/cl-seq.el | 4 +- lisp/emacs-lisp/cl-specs.el | 6 +- lisp/emacs-lisp/cl.el | 4 +- lisp/emacs-lisp/copyright.el | 29 +- lisp/emacs-lisp/crm.el | 4 +- lisp/emacs-lisp/cust-print.el | 4 +- lisp/emacs-lisp/debug.el | 5 +- lisp/emacs-lisp/derived.el | 4 +- lisp/emacs-lisp/disass.el | 4 +- lisp/emacs-lisp/easy-mmode.el | 60 +- lisp/emacs-lisp/easymenu.el | 6 +- lisp/emacs-lisp/edebug.el | 60 +- lisp/emacs-lisp/eldoc.el | 10 +- lisp/emacs-lisp/elint.el | 4 +- lisp/emacs-lisp/elp.el | 24 +- lisp/emacs-lisp/ewoc.el | 4 +- lisp/emacs-lisp/find-func.el | 25 +- lisp/emacs-lisp/find-gc.el | 4 +- lisp/emacs-lisp/float-sup.el | 4 +- lisp/emacs-lisp/generic.el | 4 +- lisp/emacs-lisp/gulp.el | 4 +- lisp/emacs-lisp/helper.el | 4 +- lisp/emacs-lisp/levents.el | 4 +- lisp/emacs-lisp/lisp-mnt.el | 4 +- lisp/emacs-lisp/lisp-mode.el | 155 +- lisp/emacs-lisp/lisp.el | 7 +- lisp/emacs-lisp/lmenu.el | 4 +- lisp/emacs-lisp/lselect.el | 4 +- lisp/emacs-lisp/lucid.el | 4 +- lisp/emacs-lisp/macroexp.el | 4 +- lisp/emacs-lisp/map-ynp.el | 4 +- lisp/emacs-lisp/pp.el | 4 +- lisp/emacs-lisp/re-builder.el | 4 +- lisp/emacs-lisp/regexp-opt.el | 4 +- lisp/emacs-lisp/regi.el | 4 +- lisp/emacs-lisp/ring.el | 4 +- lisp/emacs-lisp/rx.el | 6 +- lisp/emacs-lisp/shadow.el | 4 +- lisp/emacs-lisp/sregex.el | 8 +- lisp/emacs-lisp/syntax.el | 4 +- lisp/emacs-lisp/tcover-ses.el | 4 +- lisp/emacs-lisp/tcover-unsafep.el | 4 +- lisp/emacs-lisp/testcover.el | 4 +- lisp/emacs-lisp/timer.el | 4 +- lisp/emacs-lisp/tq.el | 9 +- lisp/emacs-lisp/trace.el | 4 +- lisp/emacs-lisp/unsafep.el | 25 +- lisp/emacs-lisp/warnings.el | 4 +- lisp/emacs-lock.el | 4 +- lisp/emulation/crisp.el | 4 +- lisp/emulation/cua-base.el | 27 +- lisp/emulation/cua-gmrk.el | 4 +- lisp/emulation/cua-rect.el | 4 +- lisp/emulation/edt-lk201.el | 4 +- lisp/emulation/edt-mapper.el | 4 +- lisp/emulation/edt-pc.el | 4 +- lisp/emulation/edt-vt100.el | 4 +- lisp/emulation/edt.el | 4 +- lisp/emulation/keypad.el | 4 +- lisp/emulation/pc-mode.el | 4 +- lisp/emulation/pc-select.el | 4 +- lisp/emulation/tpu-edt.el | 46 +- lisp/emulation/tpu-extras.el | 86 +- lisp/emulation/tpu-mapper.el | 4 +- lisp/emulation/vi.el | 2 +- lisp/emulation/vip.el | 4 +- lisp/emulation/viper-cmd.el | 4 +- lisp/emulation/viper-ex.el | 4 +- lisp/emulation/viper-init.el | 4 +- lisp/emulation/viper-keym.el | 4 +- lisp/emulation/viper-macs.el | 4 +- lisp/emulation/viper-mous.el | 4 +- lisp/emulation/viper-util.el | 4 +- lisp/emulation/viper.el | 4 +- lisp/emulation/ws-mode.el | 4 +- lisp/env.el | 4 +- lisp/erc/ChangeLog | 39 +- lisp/erc/ChangeLog.01 | 4 +- lisp/erc/ChangeLog.02 | 4 +- lisp/erc/ChangeLog.03 | 4 +- lisp/erc/ChangeLog.04 | 4 +- lisp/erc/ChangeLog.05 | 4 +- lisp/erc/ChangeLog.06 | 4 +- lisp/erc/erc-autoaway.el | 4 +- lisp/erc/erc-backend.el | 8 +- lisp/erc/erc-button.el | 6 +- lisp/erc/erc-capab.el | 4 +- lisp/erc/erc-compat.el | 4 +- lisp/erc/erc-dcc.el | 4 +- lisp/erc/erc-ezbounce.el | 4 +- lisp/erc/erc-fill.el | 4 +- lisp/erc/erc-goodies.el | 4 +- lisp/erc/erc-hecomplete.el | 4 +- lisp/erc/erc-ibuffer.el | 4 +- lisp/erc/erc-identd.el | 4 +- lisp/erc/erc-imenu.el | 4 +- lisp/erc/erc-join.el | 4 +- lisp/erc/erc-lang.el | 4 +- lisp/erc/erc-log.el | 10 +- lisp/erc/erc-match.el | 16 +- lisp/erc/erc-menu.el | 4 +- lisp/erc/erc-netsplit.el | 4 +- lisp/erc/erc-networks.el | 4 +- lisp/erc/erc-nicklist.el | 414 - lisp/erc/erc-notify.el | 4 +- lisp/erc/erc-page.el | 4 +- lisp/erc/erc-pcomplete.el | 4 +- lisp/erc/erc-replace.el | 4 +- lisp/erc/erc-ring.el | 4 +- lisp/erc/erc-services.el | 4 +- lisp/erc/erc-sound.el | 4 +- lisp/erc/erc-speedbar.el | 4 +- lisp/erc/erc-spelling.el | 4 +- lisp/erc/erc-stamp.el | 4 +- lisp/erc/erc-track.el | 4 +- lisp/erc/erc-truncate.el | 4 +- lisp/erc/erc-xdcc.el | 4 +- lisp/erc/erc.el | 24 +- lisp/eshell/em-alias.el | 4 +- lisp/eshell/em-banner.el | 4 +- lisp/eshell/em-basic.el | 4 +- lisp/eshell/em-cmpl.el | 4 +- lisp/eshell/em-dirs.el | 6 +- lisp/eshell/em-glob.el | 4 +- lisp/eshell/em-hist.el | 4 +- lisp/eshell/em-ls.el | 4 +- lisp/eshell/em-pred.el | 4 +- lisp/eshell/em-prompt.el | 4 +- lisp/eshell/em-rebind.el | 4 +- lisp/eshell/em-script.el | 4 +- lisp/eshell/em-smart.el | 4 +- lisp/eshell/em-term.el | 4 +- lisp/eshell/em-unix.el | 9 +- lisp/eshell/em-xtra.el | 4 +- lisp/eshell/esh-arg.el | 4 +- lisp/eshell/esh-cmd.el | 6 +- lisp/eshell/esh-ext.el | 4 +- lisp/eshell/esh-io.el | 4 +- lisp/eshell/esh-maint.el | 4 +- lisp/eshell/esh-mode.el | 72 +- lisp/eshell/esh-module.el | 4 +- lisp/eshell/esh-opt.el | 4 +- lisp/eshell/esh-proc.el | 60 +- lisp/eshell/esh-test.el | 4 +- lisp/eshell/esh-util.el | 4 +- lisp/eshell/esh-var.el | 6 +- lisp/eshell/eshell.el | 6 +- lisp/expand.el | 4 +- lisp/ezimage.el | 4 +- lisp/facemenu.el | 8 +- lisp/faces.el | 21 +- lisp/ffap.el | 14 +- lisp/filecache.el | 8 +- lisp/files.el | 168 +- lisp/filesets.el | 41 +- lisp/find-dired.el | 27 +- lisp/find-file.el | 4 +- lisp/find-lisp.el | 4 +- lisp/finder-inf.el | 1351 +- lisp/finder.el | 4 +- lisp/flow-ctrl.el | 4 +- lisp/foldout.el | 4 +- lisp/follow.el | 200 +- lisp/font-core.el | 4 +- lisp/font-lock.el | 50 +- lisp/format.el | 4 +- lisp/forms-d2.el | 17 +- lisp/forms.el | 4 +- lisp/frame.el | 39 +- lisp/fringe.el | 4 +- lisp/generic-x.el | 18 +- lisp/gnus/ChangeLog | 419 +- lisp/gnus/ChangeLog.1 | 4 +- lisp/gnus/ChangeLog.2 | 30 +- lisp/gnus/binhex.el | 4 +- lisp/gnus/canlock.el | 4 +- lisp/gnus/compface.el | 4 +- lisp/gnus/deuglify.el | 6 +- lisp/gnus/dig.el | 4 +- lisp/gnus/dns.el | 4 +- lisp/gnus/earcon.el | 4 +- lisp/gnus/flow-fill.el | 4 +- lisp/gnus/format-spec.el | 4 +- lisp/gnus/gmm-utils.el | 6 +- lisp/gnus/gnus-agent.el | 16 +- lisp/gnus/gnus-art.el | 106 +- lisp/gnus/gnus-async.el | 6 +- lisp/gnus/gnus-audio.el | 4 +- lisp/gnus/gnus-bcklg.el | 4 +- lisp/gnus/gnus-cache.el | 4 +- lisp/gnus/gnus-cite.el | 4 +- lisp/gnus/gnus-cus.el | 67 +- lisp/gnus/gnus-delay.el | 4 +- lisp/gnus/gnus-demon.el | 6 +- lisp/gnus/gnus-diary.el | 16 +- lisp/gnus/gnus-dired.el | 4 +- lisp/gnus/gnus-draft.el | 7 +- lisp/gnus/gnus-dup.el | 4 +- lisp/gnus/gnus-eform.el | 4 +- lisp/gnus/gnus-ems.el | 130 +- lisp/gnus/gnus-fun.el | 4 +- lisp/gnus/gnus-gl.el | 4 +- lisp/gnus/gnus-group.el | 19 +- lisp/gnus/gnus-int.el | 4 +- lisp/gnus/gnus-kill.el | 4 +- lisp/gnus/gnus-logic.el | 4 +- lisp/gnus/gnus-mh.el | 4 +- lisp/gnus/gnus-ml.el | 4 +- lisp/gnus/gnus-mlspl.el | 4 +- lisp/gnus/gnus-move.el | 4 +- lisp/gnus/gnus-msg.el | 50 +- lisp/gnus/gnus-nocem.el | 4 +- lisp/gnus/gnus-picon.el | 4 +- lisp/gnus/gnus-range.el | 4 +- lisp/gnus/gnus-registry.el | 4 +- lisp/gnus/gnus-salt.el | 39 +- lisp/gnus/gnus-score.el | 6 +- lisp/gnus/gnus-setup.el | 4 +- lisp/gnus/gnus-sieve.el | 4 +- lisp/gnus/gnus-soup.el | 4 +- lisp/gnus/gnus-spec.el | 4 +- lisp/gnus/gnus-srvr.el | 45 +- lisp/gnus/gnus-start.el | 16 +- lisp/gnus/gnus-sum.el | 88 +- lisp/gnus/gnus-topic.el | 22 +- lisp/gnus/gnus-undo.el | 4 +- lisp/gnus/gnus-util.el | 15 +- lisp/gnus/gnus-uu.el | 10 +- lisp/gnus/gnus-vm.el | 4 +- lisp/gnus/gnus-win.el | 7 +- lisp/gnus/gnus.el | 45 +- lisp/gnus/hex-util.el | 32 +- lisp/gnus/html2text.el | 6 +- lisp/gnus/ietf-drums.el | 4 +- lisp/gnus/imap.el | 6 +- lisp/gnus/legacy-gnus-agent.el | 4 +- lisp/gnus/mail-parse.el | 4 +- lisp/gnus/mail-prsvr.el | 4 +- lisp/gnus/mail-source.el | 43 +- lisp/gnus/mailcap.el | 10 +- lisp/gnus/message.el | 20 +- lisp/gnus/messcompat.el | 4 +- lisp/gnus/mm-bodies.el | 4 +- lisp/gnus/mm-decode.el | 29 +- lisp/gnus/mm-encode.el | 4 +- lisp/gnus/mm-extern.el | 4 +- lisp/gnus/mm-partial.el | 4 +- lisp/gnus/mm-url.el | 4 +- lisp/gnus/mm-util.el | 45 +- lisp/gnus/mm-uu.el | 9 +- lisp/gnus/mm-view.el | 6 +- lisp/gnus/mml-sec.el | 4 +- lisp/gnus/mml-smime.el | 4 +- lisp/gnus/mml.el | 13 +- lisp/gnus/mml1991.el | 4 +- lisp/gnus/mml2015.el | 4 +- lisp/gnus/nnagent.el | 4 +- lisp/gnus/nnbabyl.el | 4 +- lisp/gnus/nndb.el | 4 +- lisp/gnus/nndiary.el | 28 +- lisp/gnus/nndir.el | 4 +- lisp/gnus/nndoc.el | 4 +- lisp/gnus/nndraft.el | 4 +- lisp/gnus/nneething.el | 4 +- lisp/gnus/nnfolder.el | 4 +- lisp/gnus/nngateway.el | 4 +- lisp/gnus/nnheader.el | 4 +- lisp/gnus/nnimap.el | 8 +- lisp/gnus/nnkiboze.el | 4 +- lisp/gnus/nnlistserv.el | 4 +- lisp/gnus/nnmail.el | 15 +- lisp/gnus/nnmaildir.el | 2 +- lisp/gnus/nnmbox.el | 138 +- lisp/gnus/nnmh.el | 11 +- lisp/gnus/nnml.el | 4 +- lisp/gnus/nnnil.el | 2 +- lisp/gnus/nnoo.el | 4 +- lisp/gnus/nnrss.el | 11 +- lisp/gnus/nnslashdot.el | 4 +- lisp/gnus/nnsoup.el | 4 +- lisp/gnus/nnspool.el | 4 +- lisp/gnus/nntp.el | 34 +- lisp/gnus/nnultimate.el | 4 +- lisp/gnus/nnvirtual.el | 4 +- lisp/gnus/nnwarchive.el | 4 +- lisp/gnus/nnweb.el | 6 +- lisp/gnus/nnwfm.el | 4 +- lisp/gnus/pop3.el | 4 +- lisp/gnus/qp.el | 6 +- lisp/gnus/rfc1843.el | 4 +- lisp/gnus/rfc2045.el | 4 +- lisp/gnus/rfc2047.el | 15 +- lisp/gnus/rfc2104.el | 4 +- lisp/gnus/rfc2231.el | 4 +- lisp/gnus/score-mode.el | 4 +- lisp/gnus/sha1.el | 157 +- lisp/gnus/sieve-manage.el | 4 +- lisp/gnus/sieve-mode.el | 4 +- lisp/gnus/sieve.el | 4 +- lisp/gnus/smiley.el | 4 +- lisp/gnus/smime.el | 4 +- lisp/gnus/spam-report.el | 4 +- lisp/gnus/spam-stat.el | 4 +- lisp/gnus/spam.el | 4 +- lisp/gnus/starttls.el | 4 +- lisp/gnus/utf7.el | 4 +- lisp/gnus/uudecode.el | 4 +- lisp/gnus/webmail.el | 4 +- lisp/gnus/yenc.el | 4 +- lisp/gs.el | 4 +- lisp/help-at-pt.el | 4 +- lisp/help-fns.el | 4 +- lisp/help-macro.el | 4 +- lisp/help-mode.el | 16 +- lisp/help.el | 23 +- lisp/hexl.el | 43 +- lisp/hi-lock.el | 4 +- lisp/hilit-chg.el | 125 +- lisp/hippie-exp.el | 4 +- lisp/hl-line.el | 4 +- lisp/ibuf-ext.el | 28 +- lisp/ibuf-macs.el | 4 +- lisp/ibuffer.el | 8 +- lisp/icomplete.el | 12 +- lisp/ido.el | 15 +- lisp/ielm.el | 4 +- lisp/iimage.el | 4 +- lisp/image-dired.el | 29 +- lisp/image-file.el | 4 +- lisp/image-mode.el | 179 +- lisp/image.el | 55 +- lisp/imenu.el | 6 +- lisp/indent.el | 11 +- lisp/info-look.el | 6 +- lisp/info-xref.el | 4 +- lisp/info.el | 25 +- lisp/informat.el | 4 +- lisp/international/ccl.el | 6 +- lisp/international/characters.el | 6 +- lisp/international/code-pages.el | 6 +- lisp/international/codepage.el | 7 +- lisp/international/encoded-kb.el | 6 +- lisp/international/fontset.el | 6 +- lisp/international/isearch-x.el | 6 +- lisp/international/iso-ascii.el | 4 +- lisp/international/iso-cvt.el | 54 +- lisp/international/iso-transl.el | 4 +- lisp/international/ja-dic-cnv.el | 8 +- lisp/international/ja-dic-utl.el | 4 +- lisp/international/kinsoku.el | 6 +- lisp/international/kkc.el | 6 +- lisp/international/latexenc.el | 7 +- lisp/international/latin-1.el | 4 +- lisp/international/latin-2.el | 4 +- lisp/international/latin-3.el | 4 +- lisp/international/latin-4.el | 4 +- lisp/international/latin-5.el | 4 +- lisp/international/latin-8.el | 4 +- lisp/international/latin-9.el | 4 +- lisp/international/latin1-disp.el | 8 +- lisp/international/mule-cmds.el | 96 +- lisp/international/mule-conf.el | 6 +- lisp/international/mule-diag.el | 6 +- lisp/international/mule-util.el | 6 +- lisp/international/mule.el | 45 +- lisp/international/ogonek.el | 4 +- lisp/international/quail.el | 8 +- lisp/international/subst-big5.el | 4 +- lisp/international/subst-gb2312.el | 4 +- lisp/international/subst-jis.el | 6 +- lisp/international/subst-ksc.el | 4 +- lisp/international/titdic-cnv.el | 6 +- lisp/international/ucs-tables.el | 9 +- lisp/international/utf-16.el | 6 +- lisp/international/utf-7.el | 8 +- lisp/international/utf-8.el | 6 +- lisp/isearch.el | 36 +- lisp/isearchb.el | 4 +- lisp/iswitchb.el | 16 +- lisp/jit-lock.el | 4 +- lisp/jka-cmpr-hook.el | 4 +- lisp/jka-compr.el | 4 +- lisp/kermit.el | 4 +- lisp/kmacro.el | 9 +- lisp/language/china-util.el | 6 +- lisp/language/chinese.el | 6 +- lisp/language/cyril-util.el | 4 +- lisp/language/cyrillic.el | 6 +- lisp/language/czech.el | 4 +- lisp/language/devan-util.el | 7 +- lisp/language/devanagari.el | 4 +- lisp/language/english.el | 7 +- lisp/language/ethio-util.el | 7 +- lisp/language/ethiopic.el | 6 +- lisp/language/european.el | 8 +- lisp/language/georgian.el | 4 +- lisp/language/greek.el | 4 +- lisp/language/hebrew.el | 6 +- lisp/language/ind-util.el | 4 +- lisp/language/indian.el | 6 +- lisp/language/japan-util.el | 6 +- lisp/language/japanese.el | 6 +- lisp/language/kannada.el | 5 +- lisp/language/knd-util.el | 5 +- lisp/language/korea-util.el | 7 +- lisp/language/korean.el | 6 +- lisp/language/lao-util.el | 7 +- lisp/language/lao.el | 8 +- lisp/language/malayalam.el | 5 +- lisp/language/misc-lang.el | 4 +- lisp/language/mlm-util.el | 5 +- lisp/language/romanian.el | 4 +- lisp/language/slovak.el | 4 +- lisp/language/tamil.el | 5 +- lisp/language/thai-util.el | 6 +- lisp/language/thai-word.el | 4 +- lisp/language/thai.el | 6 +- lisp/language/tibet-util.el | 6 +- lisp/language/tibetan.el | 7 +- lisp/language/tml-util.el | 5 +- lisp/language/utf-8-lang.el | 4 +- lisp/language/viet-util.el | 6 +- lisp/language/vietnamese.el | 6 +- lisp/ldefs-boot.el | 2048 ++-- lisp/ledit.el | 4 +- lisp/loaddefs.el | 2048 ++-- lisp/loadhist.el | 213 +- lisp/loadup.el | 8 +- lisp/locate.el | 4 +- lisp/log-edit.el | 6 +- lisp/log-view.el | 99 +- lisp/longlines.el | 109 +- lisp/lpr.el | 11 +- lisp/ls-lisp.el | 28 +- lisp/macros.el | 4 +- lisp/mail/blessmail.el | 4 +- lisp/mail/emacsbug.el | 4 +- lisp/mail/footnote.el | 22 +- lisp/mail/mail-extr.el | 41 +- lisp/mail/mail-hist.el | 4 +- lisp/mail/mail-utils.el | 4 +- lisp/mail/mailabbrev.el | 6 +- lisp/mail/mailalias.el | 4 +- lisp/mail/mailclient.el | 4 +- lisp/mail/mailheader.el | 4 +- lisp/mail/metamail.el | 4 +- lisp/mail/mspools.el | 6 +- lisp/mail/reporter.el | 4 +- lisp/mail/rfc2368.el | 4 +- lisp/mail/rfc822.el | 4 +- lisp/mail/rmail-spam-filter.el | 4 +- lisp/mail/rmail.el | 38 +- lisp/mail/rmailedit.el | 4 +- lisp/mail/rmailkwd.el | 4 +- lisp/mail/rmailmsc.el | 4 +- lisp/mail/rmailout.el | 4 +- lisp/mail/rmailsort.el | 4 +- lisp/mail/rmailsum.el | 24 +- lisp/mail/sendmail.el | 4 +- lisp/mail/smtpmail.el | 4 +- lisp/mail/supercite.el | 4 +- lisp/mail/uce.el | 4 +- lisp/mail/undigest.el | 16 +- lisp/mail/unrmail.el | 4 +- lisp/mail/vms-pmail.el | 4 +- lisp/makefile.w32-in | 28 +- lisp/makesum.el | 4 +- lisp/man.el | 167 +- lisp/master.el | 4 +- lisp/menu-bar.el | 109 +- lisp/mh-e/ChangeLog | 163 +- lisp/mh-e/ChangeLog.1 | 4 +- lisp/mh-e/mh-acros.el | 15 +- lisp/mh-e/mh-alias.el | 4 +- lisp/mh-e/mh-buffers.el | 4 +- lisp/mh-e/mh-comp.el | 4 +- lisp/mh-e/mh-compat.el | 4 +- lisp/mh-e/mh-e.el | 8 +- lisp/mh-e/mh-folder.el | 6 +- lisp/mh-e/mh-funcs.el | 4 +- lisp/mh-e/mh-gnus.el | 4 +- lisp/mh-e/mh-identity.el | 4 +- lisp/mh-e/mh-inc.el | 4 +- lisp/mh-e/mh-junk.el | 4 +- lisp/mh-e/mh-letter.el | 6 +- lisp/mh-e/mh-limit.el | 4 +- lisp/mh-e/mh-loaddefs.el | 66 +- lisp/mh-e/mh-mime.el | 6 +- lisp/mh-e/mh-print.el | 4 +- lisp/mh-e/mh-scan.el | 4 +- lisp/mh-e/mh-search.el | 6 +- lisp/mh-e/mh-seq.el | 12 +- lisp/mh-e/mh-show.el | 6 +- lisp/mh-e/mh-speed.el | 4 +- lisp/mh-e/mh-thread.el | 4 +- lisp/mh-e/mh-tool-bar.el | 4 +- lisp/mh-e/mh-utils.el | 4 +- lisp/mh-e/mh-xface.el | 8 +- lisp/midnight.el | 4 +- lisp/minibuf-eldef.el | 4 +- lisp/misc.el | 4 +- lisp/mouse-copy.el | 4 +- lisp/mouse-drag.el | 6 +- lisp/mouse-sel.el | 4 +- lisp/mouse.el | 47 +- lisp/msb.el | 96 +- lisp/mwheel.el | 4 +- lisp/net/ange-ftp.el | 15 +- lisp/net/browse-url.el | 204 +- lisp/net/eudc-bob.el | 4 +- lisp/net/eudc-export.el | 4 +- lisp/net/eudc-hotlist.el | 4 +- lisp/net/eudc-vars.el | 4 +- lisp/net/eudc.el | 4 +- lisp/net/eudcb-bbdb.el | 4 +- lisp/net/eudcb-ldap.el | 4 +- lisp/net/eudcb-mab.el | 4 +- lisp/net/eudcb-ph.el | 4 +- lisp/net/goto-addr.el | 4 +- lisp/net/ldap.el | 4 +- lisp/net/net-utils.el | 74 +- lisp/net/netrc.el | 4 +- lisp/net/newsticker.el | 13 +- lisp/net/quickurl.el | 4 +- lisp/net/rcirc.el | 39 +- lisp/net/rcompile.el | 4 +- lisp/net/rlogin.el | 4 +- lisp/net/snmp-mode.el | 4 +- lisp/net/socks.el | 646 + lisp/net/telnet.el | 7 +- lisp/net/tls.el | 101 +- lisp/net/tramp-ftp.el | 14 +- lisp/net/tramp-smb.el | 14 +- lisp/net/tramp-util.el | 9 +- lisp/net/tramp-uu.el | 5 +- lisp/net/tramp-vc.el | 20 +- lisp/net/tramp.el | 387 +- lisp/net/trampver.el | 9 +- lisp/net/webjump.el | 7 +- lisp/newcomment.el | 105 +- lisp/novice.el | 4 +- lisp/obsolete/awk-mode.el | 4 +- lisp/obsolete/bg-mouse.el | 4 +- lisp/obsolete/fast-lock.el | 6 +- lisp/obsolete/float.el | 4 +- lisp/obsolete/hilit19.el | 4 +- lisp/obsolete/hscroll.el | 4 +- lisp/obsolete/iso-acc.el | 4 +- lisp/obsolete/iso-insert.el | 4 +- lisp/obsolete/iso-swed.el | 4 +- lisp/obsolete/keyswap.el | 4 +- lisp/obsolete/lazy-lock.el | 4 +- lisp/obsolete/mlsupport.el | 4 +- lisp/obsolete/ooutline.el | 4 +- lisp/obsolete/options.el | 4 +- lisp/obsolete/profile.el | 4 +- lisp/obsolete/rnews.el | 4 +- lisp/obsolete/rnewspost.el | 4 +- lisp/obsolete/rsz-mini.el | 4 +- lisp/obsolete/scribe.el | 4 +- lisp/obsolete/sun-curs.el | 4 +- lisp/obsolete/sun-fns.el | 4 +- lisp/obsolete/swedish.el | 4 +- lisp/obsolete/uncompress.el | 4 +- lisp/obsolete/x-apollo.el | 4 +- lisp/obsolete/x-menu.el | 4 +- lisp/outline.el | 9 +- lisp/paren.el | 4 +- lisp/paths.el | 4 +- lisp/pcmpl-cvs.el | 4 +- lisp/pcmpl-gnu.el | 4 +- lisp/pcmpl-linux.el | 4 +- lisp/pcmpl-rpm.el | 4 +- lisp/pcmpl-unix.el | 4 +- lisp/pcomplete.el | 4 +- lisp/pcvs-defs.el | 6 +- lisp/pcvs-info.el | 8 +- lisp/pcvs-parse.el | 13 +- lisp/pcvs-util.el | 36 +- lisp/pcvs.el | 50 +- lisp/pgg-def.el | 4 +- lisp/pgg-gpg.el | 4 +- lisp/pgg-parse.el | 4 +- lisp/pgg-pgp.el | 4 +- lisp/pgg-pgp5.el | 4 +- lisp/pgg.el | 12 +- lisp/play/5x5.el | 4 +- lisp/play/animate.el | 4 +- lisp/play/blackbox.el | 4 +- lisp/play/bruce.el | 4 +- lisp/play/cookie1.el | 4 +- lisp/play/decipher.el | 4 +- lisp/play/dissociate.el | 4 +- lisp/play/doctor.el | 4 +- lisp/play/dunnet.el | 4 +- lisp/play/fortune.el | 4 +- lisp/play/gamegrid.el | 4 +- lisp/play/gametree.el | 4 +- lisp/play/gomoku.el | 4 +- lisp/play/handwrite.el | 4 +- lisp/play/landmark.el | 4 +- lisp/play/life.el | 4 +- lisp/play/morse.el | 4 +- lisp/play/mpuz.el | 4 +- lisp/play/pong.el | 4 +- lisp/play/snake.el | 4 +- lisp/play/solitaire.el | 4 +- lisp/play/spook.el | 4 +- lisp/play/tetris.el | 4 +- lisp/play/yow.el | 4 +- lisp/play/zone.el | 4 +- lisp/printing.el | 47 +- lisp/progmodes/ada-mode.el | 364 +- lisp/progmodes/ada-prj.el | 6 +- lisp/progmodes/ada-stmt.el | 21 +- lisp/progmodes/ada-xref.el | 31 +- lisp/progmodes/antlr-mode.el | 10 +- lisp/progmodes/asm-mode.el | 12 +- lisp/progmodes/autoconf.el | 4 +- lisp/progmodes/cc-align.el | 4 +- lisp/progmodes/cc-awk.el | 130 +- lisp/progmodes/cc-bytecomp.el | 4 +- lisp/progmodes/cc-cmds.el | 10 +- lisp/progmodes/cc-compat.el | 4 +- lisp/progmodes/cc-defs.el | 43 +- lisp/progmodes/cc-engine.el | 141 +- lisp/progmodes/cc-fonts.el | 8 +- lisp/progmodes/cc-langs.el | 95 +- lisp/progmodes/cc-menus.el | 8 +- lisp/progmodes/cc-mode.el | 460 +- lisp/progmodes/cc-styles.el | 23 +- lisp/progmodes/cc-subword.el | 4 +- lisp/progmodes/cc-vars.el | 64 +- lisp/progmodes/cfengine.el | 4 +- lisp/progmodes/cmacexp.el | 4 +- lisp/progmodes/compile.el | 137 +- lisp/progmodes/cperl-mode.el | 374 +- lisp/progmodes/cpp.el | 10 +- lisp/progmodes/cwarn.el | 4 +- lisp/progmodes/dcl-mode.el | 4 +- lisp/progmodes/delphi.el | 4 +- lisp/progmodes/ebnf-abn.el | 4 +- lisp/progmodes/ebnf-bnf.el | 4 +- lisp/progmodes/ebnf-dtd.el | 4 +- lisp/progmodes/ebnf-ebx.el | 4 +- lisp/progmodes/ebnf-iso.el | 4 +- lisp/progmodes/ebnf-otz.el | 4 +- lisp/progmodes/ebnf-yac.el | 4 +- lisp/progmodes/ebnf2ps.el | 4 +- lisp/progmodes/ebrowse.el | 32 +- lisp/progmodes/etags.el | 38 +- lisp/progmodes/executable.el | 4 +- lisp/progmodes/f90.el | 31 +- lisp/progmodes/flymake.el | 6 +- lisp/progmodes/fortran.el | 44 +- lisp/progmodes/gdb-ui.el | 584 +- lisp/progmodes/glasses.el | 4 +- lisp/progmodes/grep.el | 8 +- lisp/progmodes/gud.el | 158 +- lisp/progmodes/hideif.el | 18 +- lisp/progmodes/hideshow.el | 10 +- lisp/progmodes/icon.el | 4 +- lisp/progmodes/idlw-complete-structtag.el | 4 +- lisp/progmodes/idlw-help.el | 4 +- lisp/progmodes/idlw-shell.el | 4 +- lisp/progmodes/idlw-toolbar.el | 4 +- lisp/progmodes/idlwave.el | 10 +- lisp/progmodes/inf-lisp.el | 4 +- lisp/progmodes/ld-script.el | 4 +- lisp/progmodes/m4-mode.el | 4 +- lisp/progmodes/make-mode.el | 4 +- lisp/progmodes/mantemp.el | 4 +- lisp/progmodes/meta-mode.el | 4 +- lisp/progmodes/mixal-mode.el | 36 +- lisp/progmodes/modula2.el | 4 +- lisp/progmodes/octave-hlp.el | 4 +- lisp/progmodes/octave-inf.el | 11 +- lisp/progmodes/octave-mod.el | 55 +- lisp/progmodes/pascal.el | 4 +- lisp/progmodes/perl-mode.el | 34 +- lisp/progmodes/prolog.el | 4 +- lisp/progmodes/ps-mode.el | 5 +- lisp/progmodes/python.el | 124 +- lisp/progmodes/scheme.el | 7 +- lisp/progmodes/sh-script.el | 57 +- lisp/progmodes/simula.el | 4 +- lisp/progmodes/sql.el | 4 +- lisp/progmodes/tcl.el | 6 +- lisp/progmodes/vera-mode.el | 1487 +++ lisp/progmodes/verilog-mode.el | 10186 ++++++++++++++++ lisp/progmodes/vhdl-mode.el | 15 +- lisp/progmodes/which-func.el | 6 +- lisp/progmodes/xscheme.el | 8 +- lisp/ps-bdf.el | 7 +- lisp/ps-mule.el | 4 +- lisp/ps-print.el | 126 +- lisp/recentf.el | 4 +- lisp/rect.el | 4 +- lisp/register.el | 4 +- lisp/repeat.el | 91 +- lisp/replace.el | 19 +- lisp/reposition.el | 6 +- lisp/resume.el | 4 +- lisp/reveal.el | 4 +- lisp/rfn-eshadow.el | 4 +- lisp/rot13.el | 4 +- lisp/ruler-mode.el | 9 +- lisp/s-region.el | 4 +- lisp/savehist.el | 45 +- lisp/saveplace.el | 11 +- lisp/sb-image.el | 4 +- lisp/scroll-all.el | 4 +- lisp/scroll-bar.el | 4 +- lisp/scroll-lock.el | 6 +- lisp/select.el | 6 +- lisp/server.el | 25 +- lisp/ses.el | 41 +- lisp/shadowfile.el | 35 +- lisp/shell.el | 117 +- lisp/simple.el | 203 +- lisp/skeleton.el | 8 +- lisp/smerge-mode.el | 55 +- lisp/sort.el | 6 +- lisp/soundex.el | 4 +- lisp/speedbar.el | 56 +- lisp/startup.el | 1681 +-- lisp/strokes.el | 8 +- lisp/subr.el | 109 +- lisp/t-mouse.el | 7 +- lisp/tabify.el | 4 +- lisp/talk.el | 4 +- lisp/tar-mode.el | 26 +- lisp/tempo.el | 4 +- lisp/term.el | 30 +- lisp/term/AT386.el | 4 +- lisp/term/README | 4 +- lisp/term/internal.el | 4 +- lisp/term/iris-ansi.el | 4 +- lisp/term/mac-win.el | 15 +- lisp/term/news.el | 4 +- lisp/term/pc-win.el | 4 +- lisp/term/rxvt.el | 4 +- lisp/term/sun-mouse.el | 6 +- lisp/term/sun.el | 4 +- lisp/term/sup-mouse.el | 4 +- lisp/term/tty-colors.el | 4 +- lisp/term/tvi970.el | 8 +- lisp/term/vt100.el | 4 +- lisp/term/w32-win.el | 39 +- lisp/term/wyse50.el | 4 +- lisp/term/x-win.el | 67 +- lisp/term/xterm.el | 65 +- lisp/terminal.el | 4 +- lisp/textmodes/artist.el | 6 +- lisp/textmodes/bib-mode.el | 4 +- lisp/textmodes/bibtex-style.el | 157 + lisp/textmodes/bibtex.el | 8 +- lisp/textmodes/conf-mode.el | 5 +- lisp/textmodes/css-mode.el | 475 + lisp/textmodes/dns-mode.el | 5 +- lisp/textmodes/enriched.el | 4 +- lisp/textmodes/fill.el | 22 +- lisp/textmodes/flyspell.el | 14 +- lisp/textmodes/ispell.el | 19 +- lisp/textmodes/makeinfo.el | 4 +- lisp/textmodes/nroff-mode.el | 22 +- lisp/textmodes/org.el | 80 +- lisp/textmodes/page-ext.el | 4 +- lisp/textmodes/page.el | 4 +- lisp/textmodes/paragraphs.el | 8 +- lisp/textmodes/picture.el | 4 +- lisp/textmodes/po.el | 4 +- lisp/textmodes/refbib.el | 4 +- lisp/textmodes/refer.el | 4 +- lisp/textmodes/refill.el | 6 +- lisp/textmodes/reftex-auc.el | 4 +- lisp/textmodes/reftex-cite.el | 4 +- lisp/textmodes/reftex-dcr.el | 4 +- lisp/textmodes/reftex-global.el | 6 +- lisp/textmodes/reftex-index.el | 4 +- lisp/textmodes/reftex-parse.el | 4 +- lisp/textmodes/reftex-ref.el | 4 +- lisp/textmodes/reftex-sel.el | 4 +- lisp/textmodes/reftex-toc.el | 4 +- lisp/textmodes/reftex-vars.el | 4 +- lisp/textmodes/reftex.el | 12 +- lisp/textmodes/sgml-mode.el | 14 +- lisp/textmodes/spell.el | 4 +- lisp/textmodes/table.el | 4 +- lisp/textmodes/tex-mode.el | 202 +- lisp/textmodes/texinfmt.el | 6 +- lisp/textmodes/texinfo.el | 4 +- lisp/textmodes/texnfo-upd.el | 4 +- lisp/textmodes/text-mode.el | 4 +- lisp/textmodes/tildify.el | 4 +- lisp/textmodes/two-column.el | 18 +- lisp/textmodes/underline.el | 4 +- lisp/thingatpt.el | 4 +- lisp/thumbs.el | 4 +- lisp/time-stamp.el | 6 +- lisp/time.el | 4 +- lisp/timezone.el | 4 +- lisp/tmm.el | 4 +- lisp/tool-bar.el | 4 +- lisp/tooltip.el | 4 +- lisp/tree-widget.el | 4 +- lisp/tutorial.el | 15 +- lisp/type-break.el | 4 +- lisp/uniquify.el | 78 +- lisp/url/ChangeLog | 104 +- lisp/url/url-about.el | 5 +- lisp/url/url-auth.el | 84 +- lisp/url/url-cache.el | 6 +- lisp/url/url-cid.el | 4 +- lisp/url/url-cookie.el | 57 +- lisp/url/url-dav.el | 10 +- lisp/url/url-dired.el | 17 +- lisp/url/url-expand.el | 7 +- lisp/url/url-file.el | 6 +- lisp/url/url-ftp.el | 4 +- lisp/url/url-gw.el | 4 +- lisp/url/url-handlers.el | 13 +- lisp/url/url-history.el | 52 +- lisp/url/url-http.el | 19 +- lisp/url/url-imap.el | 4 +- lisp/url/url-irc.el | 4 +- lisp/url/url-ldap.el | 4 +- lisp/url/url-mailto.el | 4 +- lisp/url/url-methods.el | 4 +- lisp/url/url-misc.el | 6 +- lisp/url/url-news.el | 16 +- lisp/url/url-nfs.el | 4 +- lisp/url/url-ns.el | 4 +- lisp/url/url-parse.el | 80 +- lisp/url/url-privacy.el | 4 +- lisp/url/url-proxy.el | 4 +- lisp/url/url-util.el | 77 +- lisp/url/url-vars.el | 4 +- lisp/url/url.el | 8 +- lisp/url/vc-dav.el | 6 +- lisp/userlock.el | 6 +- lisp/vc-arch.el | 46 +- lisp/vc-bzr.el | 597 + lisp/vc-cvs.el | 41 +- lisp/vc-git.el | 461 + lisp/vc-hg.el | 452 + lisp/vc-hooks.el | 149 +- lisp/vc-mcvs.el | 4 +- lisp/vc-mtn.el | 286 + lisp/vc-rcs.el | 12 +- lisp/vc-sccs.el | 4 +- lisp/vc-svn.el | 35 +- lisp/vc.el | 106 +- lisp/vcursor.el | 4 +- lisp/version.el | 9 +- lisp/view.el | 84 +- lisp/vms-patch.el | 4 +- lisp/vmsproc.el | 4 +- lisp/vt-control.el | 4 +- lisp/vt100-led.el | 4 +- lisp/w32-fns.el | 32 +- lisp/w32-vars.el | 6 +- lisp/wdired.el | 10 +- lisp/whitespace.el | 37 +- lisp/wid-browse.el | 4 +- lisp/wid-edit.el | 28 +- lisp/widget.el | 4 +- lisp/windmove.el | 4 +- lisp/window.el | 77 +- lisp/winner.el | 9 +- lisp/woman.el | 10 +- lisp/x-dnd.el | 4 +- lisp/xml.el | 4 +- lisp/xt-mouse.el | 7 +- lwlib/COPYING | 911 +- lwlib/ChangeLog | 14 +- lwlib/Makefile.in | 2 +- lwlib/lwlib-Xaw.c | 2 +- lwlib/lwlib-Xlw.c | 2 +- lwlib/lwlib-Xm.c | 2 +- lwlib/lwlib-int.h | 2 +- lwlib/lwlib-utils.c | 2 +- lwlib/lwlib.c | 2 +- lwlib/lwlib.h | 2 +- lwlib/xlwmenu.c | 2 +- lwlib/xlwmenu.h | 2 +- lwlib/xlwmenuP.h | 2 +- mac/COPYING | 911 +- mac/ChangeLog | 23 +- mac/Emacs.app/Contents/Info.plist | 4 +- .../Resources/English.lproj/InfoPlist.strings | 4 +- mac/INSTALL | 6 +- mac/README | 4 +- mac/cw6-mcp.xml | 4 +- mac/inc/alloca.h | 4 +- mac/inc/config.h | 4 +- mac/inc/defs-cw6.h | 4 +- mac/inc/dirent.h | 4 +- mac/inc/epaths.h | 4 +- mac/inc/grp.h | 5 +- mac/inc/m-mac.h | 6 +- mac/inc/pwd.h | 4 +- mac/inc/s-mac.h | 4 +- mac/inc/sys/file.h | 4 +- mac/inc/sys/ioctl.h | 4 +- mac/inc/sys/param.h | 4 +- mac/inc/sys/stat.h | 4 +- mac/inc/sys/time.h | 4 +- mac/inc/sys/types.h | 4 +- mac/inc/termio.h | 4 +- mac/inc/utime.h | 4 +- mac/inc/utsname.h | 4 +- mac/make-package | 5 +- mac/makefile.MPW | 4 +- mac/src/Emacs.r | 10 +- mac/src/EmacsMPW.r | 4 +- mac/src/chdir.c | 4 +- make-dist | 6 +- man/ChangeLog | 444 +- man/Makefile.in | 7 +- man/dired-x.texi | 1275 -- man/faq.texi | 2 +- msdos/COPYING | 911 +- msdos/ChangeLog | 14 +- msdos/is_exec.c | 2 +- msdos/mainmake | 4 +- msdos/mainmake.v2 | 4 +- msdos/sed1.inp | 2 +- msdos/sed1v2.inp | 2 +- msdos/sed2.inp | 2 +- msdos/sed2v2.inp | 2 +- msdos/sed2x.inp | 2 +- msdos/sed3.inp | 2 +- msdos/sed3v2.inp | 2 +- msdos/sed4.inp | 2 +- msdos/sed5x.inp | 2 +- msdos/sed6.inp | 2 +- msdos/sedleim.inp | 2 +- msdos/sedlisp.inp | 2 +- msdos/sigaction.c | 2 +- nt/COPYING | 911 +- nt/ChangeLog | 75 +- nt/INSTALL | 18 +- nt/README | 47 +- nt/addpm.c | 59 +- nt/addsection.c | 4 +- nt/cmdproxy.c | 10 +- nt/config.nt | 4 +- nt/configure.bat | 28 +- nt/ddeclient.c | 4 +- nt/emacs.manifest | 11 + nt/emacs.rc | 11 +- nt/envadd.bat | 4 +- nt/gmake.defs | 18 +- nt/inc/grp.h | 5 +- nt/inc/langinfo.h | 4 +- nt/inc/nl_types.h | 4 +- nt/inc/sys/socket.h | 4 +- nt/makefile.w32-in | 21 +- nt/multi-install-info.bat | 4 +- nt/nmake.defs | 8 +- nt/paths.h | 4 +- nt/preprep.c | 4 +- nt/runemacs.c | 4 +- oldXMenu/Activate.c | 4 +- oldXMenu/ChangeLog | 17 +- oldXMenu/ChgPane.c | 1 + oldXMenu/ChgSel.c | 1 + oldXMenu/Create.c | 4 +- oldXMenu/FindSel.c | 2 +- oldXMenu/Internal.c | 4 +- oldXMenu/Makefile.in | 4 +- oldXMenu/descrip.mms | 4 +- oldXMenu/insque.c | 4 +- src/.gdbinit | 5 +- src/COPYING | 911 +- src/ChangeLog | 981 +- src/ChangeLog.1 | 6 +- src/ChangeLog.2 | 4 +- src/ChangeLog.3 | 4 +- src/ChangeLog.4 | 4 +- src/ChangeLog.5 | 4 +- src/ChangeLog.6 | 10 +- src/ChangeLog.7 | 4 +- src/ChangeLog.8 | 4 +- src/ChangeLog.9 | 4 +- src/Makefile.in | 5 +- src/README | 4 +- src/abbrev.c | 4 +- src/alloc.c | 13 +- src/atimer.c | 4 +- src/atimer.h | 4 +- src/blockinput.h | 4 +- src/buffer.c | 11 +- src/buffer.h | 7 +- src/bytecode.c | 4 +- src/callint.c | 10 +- src/callproc.c | 7 +- src/casefiddle.c | 4 +- src/casetab.c | 6 +- src/category.c | 8 +- src/category.h | 4 +- src/ccl.c | 20 +- src/ccl.h | 7 +- src/charset.c | 12 +- src/charset.h | 16 +- src/cm.c | 4 +- src/cm.h | 4 +- src/cmds.c | 5 +- src/coding.c | 135 +- src/coding.h | 10 +- src/commands.h | 4 +- src/composite.c | 19 +- src/composite.h | 10 +- src/config.in | 6 +- src/cxux-crt0.s | 30 +- src/data.c | 27 +- src/dired.c | 13 +- src/dispextern.h | 52 +- src/dispnew.c | 6 +- src/disptab.h | 4 +- src/doc.c | 5 +- src/doprnt.c | 4 +- src/dosfns.c | 4 +- src/dosfns.h | 4 +- src/ecrt0.c | 4 +- src/editfns.c | 94 +- src/emacs.c | 23 +- src/epaths.in | 4 +- src/eval.c | 61 +- src/fileio.c | 66 +- src/filelock.c | 9 +- src/filemode.c | 4 +- src/firstfile.c | 4 +- src/floatfns.c | 4 +- src/fns.c | 20 +- src/fontset.c | 8 +- src/fontset.h | 8 +- src/frame.c | 29 +- src/frame.h | 11 +- src/fringe.c | 17 +- src/getloadavg.c | 4 +- src/getpagesize.h | 4 +- src/gmalloc.c | 291 +- src/gnu.h | 4 +- src/gtkutil.c | 442 +- src/gtkutil.h | 5 +- src/image.c | 189 +- src/indent.c | 7 +- src/indent.h | 6 +- src/insdel.c | 105 +- src/intervals.c | 6 +- src/intervals.h | 23 +- src/keyboard.c | 54 +- src/keyboard.h | 9 +- src/keymap.c | 6 +- src/keymap.h | 4 +- src/lastfile.c | 4 +- src/lisp.h | 11 +- src/lread.c | 58 +- src/m/7300.h | 6 +- src/m/acorn.h | 6 +- src/m/alliant-2800.h | 6 +- src/m/alliant.h | 6 +- src/m/alpha.h | 6 +- src/m/altos.h | 6 +- src/m/amdahl.h | 6 +- src/m/amdx86-64.h | 7 +- src/m/apollo.h | 6 +- src/m/arm.h | 6 +- src/m/att3b.h | 6 +- src/m/aviion.h | 6 +- src/m/celerity.h | 6 +- src/m/clipper.h | 6 +- src/m/cnvrgnt.h | 6 +- src/m/convex.h | 6 +- src/m/cydra5.h | 6 +- src/m/delta88k.h | 6 +- src/m/dpx2.h | 6 +- src/m/dual.h | 6 +- src/m/elxsi.h | 6 +- src/m/ews4800.h | 4 +- src/m/gould-np1.h | 4 +- src/m/gould.h | 6 +- src/m/hp800.h | 6 +- src/m/hp9000s300.h | 6 +- src/m/i860.h | 6 +- src/m/ia64.h | 6 +- src/m/ibm370aix.h | 6 +- src/m/ibmps2-aix.h | 6 +- src/m/ibmrs6000.h | 6 +- src/m/ibmrt-aix.h | 6 +- src/m/ibmrt.h | 6 +- src/m/ibms390.h | 6 +- src/m/ibms390x.h | 17 +- src/m/intel386.h | 13 +- src/m/iris4d.h | 6 +- src/m/irist.h | 6 +- src/m/isi-ov.h | 6 +- src/m/m68k.h | 6 +- src/m/macppc.h | 6 +- src/m/masscomp.h | 6 +- src/m/mega68.h | 6 +- src/m/mg1.h | 6 +- src/m/mips-siemens.h | 6 +- src/m/mips.h | 6 +- src/m/mips4.h | 4 +- src/m/news-risc.h | 4 +- src/m/news.h | 6 +- src/m/next.h | 6 +- src/m/nh3000.h | 4 +- src/m/nh4000.h | 4 +- src/m/ns16000.h | 6 +- src/m/ns32000.h | 6 +- src/m/nu.h | 6 +- src/m/orion.h | 6 +- src/m/orion105.h | 6 +- src/m/pfa50.h | 6 +- src/m/plexus.h | 6 +- src/m/pmax.h | 4 +- src/m/powermac.h | 7 +- src/m/powerpcle.h | 6 +- src/m/pyramid.h | 6 +- src/m/sequent-ptx.h | 4 +- src/m/sequent.h | 6 +- src/m/sh3el.h | 6 +- src/m/sparc.h | 6 +- src/m/sps7.h | 6 +- src/m/sr2k.h | 6 +- src/m/stride.h | 6 +- src/m/sun1.h | 6 +- src/m/sun2.h | 6 +- src/m/sun386.h | 4 +- src/m/symmetry.h | 4 +- src/m/tad68k.h | 6 +- src/m/tahoe.h | 6 +- src/m/targon31.h | 6 +- src/m/tek4300.h | 6 +- src/m/tekxd88.h | 6 +- src/m/template.h | 6 +- src/m/tower32.h | 6 +- src/m/tower32v3.h | 6 +- src/m/ustation.h | 6 +- src/m/vax.h | 6 +- src/m/wicat.h | 6 +- src/m/windowsnt.h | 6 +- src/m/xps100.h | 6 +- src/mac.c | 70 +- src/macfns.c | 40 +- src/macgui.h | 4 +- src/macmenu.c | 24 +- src/macros.c | 4 +- src/macros.h | 4 +- src/macselect.c | 4 +- src/macterm.c | 183 +- src/macterm.h | 9 +- src/makefile.w32-in | 12 +- src/marker.c | 4 +- src/mem-limits.h | 4 +- src/minibuf.c | 8 +- src/msdos.c | 11 +- src/msdos.h | 4 +- src/prefix-args.c | 4 +- src/print.c | 67 +- src/process.c | 37 +- src/process.h | 8 +- src/puresize.h | 6 +- src/ralloc.c | 4 +- src/regex.c | 7 +- src/regex.h | 2 +- src/region-cache.c | 4 +- src/region-cache.h | 4 +- src/s/aix3-1.h | 4 +- src/s/aix3-2.h | 4 +- src/s/aix4-1.h | 4 +- src/s/bsd386.h | 4 +- src/s/bsd4-1.h | 4 +- src/s/bsd4-2.h | 4 +- src/s/bsd4-3.h | 4 +- src/s/cxux.h | 4 +- src/s/cygwin.h | 4 +- src/s/darwin.h | 4 +- src/s/dgux.h | 4 +- src/s/dgux4.h | 4 +- src/s/dgux5-4-3.h | 4 +- src/s/dgux5-4r2.h | 4 +- src/s/freebsd.h | 5 +- src/s/gnu-kfreebsd.h | 11 + src/s/gnu-linux.h | 4 +- src/s/gnu.h | 4 +- src/s/hiuxmpp.h | 4 +- src/s/hiuxwe2.h | 4 +- src/s/hpux.h | 14 +- src/s/hpux10.h | 4 +- src/s/hpux8.h | 4 +- src/s/hpux9.h | 4 +- src/s/iris3-5.h | 4 +- src/s/iris3-6.h | 4 +- src/s/irix3-3.h | 4 +- src/s/irix4-0.h | 4 +- src/s/irix5-0.h | 4 +- src/s/irix6-0.h | 4 +- src/s/irix6-5.h | 4 +- src/s/isc2-2.h | 4 +- src/s/isc3-0.h | 4 +- src/s/lynxos.h | 4 +- src/s/ms-w32.h | 5 +- src/s/msdos.h | 4 +- src/s/netbsd.h | 4 +- src/s/newsos5.h | 4 +- src/s/nextstep.h | 4 +- src/s/osf1.h | 4 +- src/s/ptx.h | 4 +- src/s/ptx4.h | 4 +- src/s/riscix1-1.h | 22 +- src/s/riscix12.h | 4 +- src/s/rtu.h | 4 +- src/s/sco4.h | 4 +- src/s/sco5.h | 4 +- src/s/sol2-3.h | 4 +- src/s/sol2.h | 4 +- src/s/sunos4-0.h | 4 +- src/s/sunos4shr.h | 4 +- src/s/template.h | 4 +- src/s/umax.h | 4 +- src/s/unipl5-2.h | 4 +- src/s/usg5-0.h | 4 +- src/s/usg5-2-2.h | 4 +- src/s/usg5-2.h | 4 +- src/s/usg5-3.h | 4 +- src/s/usg5-4-2.h | 4 +- src/s/usg5-4.h | 4 +- src/s/vms.h | 4 +- src/s/xenix.h | 4 +- src/scroll.c | 4 +- src/search.c | 35 +- src/sheap.c | 4 +- src/sound.c | 4 +- src/sunfns.c | 4 +- src/syntax.c | 16 +- src/syntax.h | 4 +- src/sysdep.c | 14 +- src/sysselect.h | 4 +- src/syssignal.h | 4 +- src/systime.h | 8 +- src/systty.h | 6 +- src/syswait.h | 4 +- src/term.c | 18 +- src/termcap.c | 2 +- src/termchar.h | 4 +- src/termhooks.h | 10 +- src/terminfo.c | 4 +- src/termopts.h | 4 +- src/textprop.c | 10 +- src/tparam.c | 2 +- src/uaf.h | 4 +- src/undo.c | 4 +- src/unexaix.c | 4 +- src/unexalpha.c | 4 +- src/unexapollo.c | 4 +- src/unexconvex.c | 4 +- src/unexcw.c | 4 +- src/unexec.c | 6 +- src/unexelf.c | 5 +- src/unexenix.c | 4 +- src/unexhp9k800.c | 2 +- src/unexmacosx.c | 145 +- src/unexmips.c | 4 +- src/unexnext.c | 4 +- src/unexsni.c | 4 +- src/unexsunos4.c | 4 +- src/unexw32.c | 4 +- src/vm-limit.c | 4 +- src/w16select.c | 4 +- src/w32.c | 50 +- src/w32.h | 4 +- src/w32bdf.c | 11 +- src/w32bdf.h | 4 +- src/w32console.c | 4 +- src/w32fns.c | 324 +- src/w32gui.h | 4 +- src/w32heap.c | 4 +- src/w32heap.h | 4 +- src/w32inevt.c | 4 +- src/w32inevt.h | 4 +- src/w32menu.c | 60 +- src/w32proc.c | 101 +- src/w32reg.c | 6 +- src/w32select.c | 4 +- src/w32term.c | 170 +- src/w32term.h | 6 +- src/w32xfns.c | 4 +- src/widget.c | 4 +- src/widget.h | 4 +- src/widgetprv.h | 4 +- src/window.c | 132 +- src/window.h | 8 +- src/xdisp.c | 215 +- src/xfaces.c | 90 +- src/xfns.c | 55 +- src/xmenu.c | 4 +- src/xrdb.c | 4 +- src/xselect.c | 17 +- src/xsmfns.c | 5 +- src/xterm.c | 63 +- src/xterm.h | 6 +- update-subdirs | 4 +- 1663 files changed, 50144 insertions(+), 20451 deletions(-) create mode 100644 etc/images/gnus/mail-send.xpm create mode 100644 lisp/emacs-lisp/cl-loaddefs.el delete mode 100644 lisp/erc/erc-nicklist.el create mode 100644 lisp/net/socks.el create mode 100644 lisp/progmodes/vera-mode.el create mode 100644 lisp/progmodes/verilog-mode.el create mode 100644 lisp/textmodes/bibtex-style.el create mode 100644 lisp/textmodes/css-mode.el create mode 100644 lisp/vc-bzr.el create mode 100644 lisp/vc-git.el create mode 100644 lisp/vc-hg.el create mode 100644 lisp/vc-mtn.el delete mode 100644 man/dired-x.texi create mode 100644 nt/emacs.manifest create mode 100644 src/s/gnu-kfreebsd.h diff --git a/AUTHORS b/AUTHORS index b88c0b69bda..a719b49e3d3 100644 --- a/AUTHORS +++ b/AUTHORS @@ -3,14 +3,19 @@ Foundation's distribution of GNU Emacs. To show our appreciation for their public spirit, we list here in alphabetical order a condensed list of their contributions. +Aaron Hawley: changed tar-mode.el tutorial.el + Aaron Larson: changed bibtex.el -Aaron S. Hawley: changed files.texi files.el isearch.el misc.texi +Aaron S. Hawley: changed files.texi building.texi custom.texi files.el + glossary.texi isearch.el misc.texi Abraham Nahum: changed configure.in dgux4.h sysdep.c Abramo Bagnara: changed term.c +Adam Hupp: changed gdb-ui.el + Adrian Aichner: changed erc-log.el erc.el erc-autojoin.el erc-backend.el erc-dcc.el erc-members.el erc-nets.el erc-sound.el etags.c gnus-score.el @@ -19,9 +24,11 @@ Adrian Colley: changed aix3-2.h Adrian Lanz: changed mail-source.el spam.el +,AF(Bvar Arnfj,Av(Br,Ap(B Bjarmason: changed rcirc.el + Agust,Am(Bn Mart,Am(Bn: changed flyspell.el ispell.el -Aidan Kehoe: changed lread.c mm-util.el erc.el objects.texi +Aidan Kehoe: changed lread.c mm-util.el erc.el latin-ltx.el objects.texi Ake Stenhoff: wrote imenu.el and changed cc-mode.el perl-mode.el @@ -32,10 +39,10 @@ Aki Vehtari: changed bibtex.el gnus-art.el gnus-score.el gnus-sum.el Alakazam Petrofsky: changed hanoi.el Alan Mackenzie: wrote cc-awk.el -and changed cc-cmds.el cc-mode.el cc-engine.el cc-defs.el cc-vars.el - cc-langs.el cc-mode.texi cc-styles.el cc-align.el cc-fonts.el lread.c +and changed cc-cmds.el cc-mode.el cc-engine.el cc-defs.el cc-langs.el + cc-vars.el cc-mode.texi cc-styles.el cc-fonts.el cc-align.el lread.c programs.texi cc-subword.el isearch.el lisp.el search.texi startup.el - subr.el text.texi buffers.texi cc-fix.el and 18 other files + subr.el text.texi buffers.texi bytecomp.el and 20 other files Alan Shutko: changed diary-lib.el calendar.el bindings.el cal-hebrew.el easy-mmode.el gnus-sum.el ibuf-ext.el ibuffer.el lunar.el macros.el @@ -72,6 +79,8 @@ Alexander Shopov: changed code-pages.el Alexander Zhuckov: changed ebrowse.c +Alexandre Julliard: wrote vc-git.el + Alexandre Oliva: wrote gnus-mlspl.el and changed unexelf.c format.el iris4d.h iris5d.h unexsgi.c @@ -79,7 +88,8 @@ Alexandre Veyrenc: changed fr-refcard.tex Alfred Correira: changed generic-x.el -Alfred M. Szmidt: changed compile.el html2text.el openbsd.h +Alfred M. Szmidt: changed compile.el html2text.el openbsd.h rmail.el + rmailsum.el Alfredo Finelli: changed TUTORIAL.it @@ -119,10 +129,10 @@ Andreas Leue: changed artist.el Andreas Luik: changed xfns.c xterm.c -Andreas Schwab: changed Makefile.in files.el lisp.h xdisp.c configure.in - alloc.c fns.c print.c coding.c editfns.c dired.el info.el eval.c - fileio.c simple.el buffer.c minibuf.c process.c xterm.c emacs.c - keyboard.c and 449 other files +Andreas Schwab: changed Makefile.in files.el lisp.h alloc.c xdisp.c + configure.in editfns.c fns.c print.c coding.c dired.el fileio.c info.el + eval.c process.c simple.el buffer.c minibuf.c window.c xterm.c emacs.c + and 452 other files Andreas Seltenreich: changed nnweb.el gnus.texi nnslashdot.el gnus-util.el mm-uu.el url-http.el battery.el comint.el easy-mmode.el @@ -160,10 +170,10 @@ Andy Petrusenco: changed w32term.c Anna M. Bigatti: wrote cal-html.el -Ari Roponen: changed atimer.c startup.el +Ari Roponen: changed atimer.c startup.el time-date.el -Arisawa Akihiro: changed mm-decode.el mm-view.el ps-print.el time.el - utf-8.el +Arisawa Akihiro: changed message.el mm-decode.el mm-view.el ps-print.el + time.el utf-8.el Arne Georg Gleditsch: changed gnus-sum.el @@ -215,6 +225,8 @@ Bill Carpenter: wrote feedmail.el (public domain) Bill Mann: changed configure.in unexaix.c ibmrs6000.h usg5-4-3.h +Bill Meier: changed sh-script.el + Bill Pringlemeir: changed messcompat.el Bill Richter: changed fill.el quail.el ccl.el encoded-kb.el fontset.el @@ -255,7 +267,7 @@ and changed isearch.el sendmail.el Bob Halley: changed esh-io.el -Bob Rogers: changed ffap.el thingatpt.el +Bob Rogers: changed cperl-mode.el ffap.el thingatpt.el Bob Weiner: changed info.el quail.el @@ -332,20 +344,19 @@ Charlie Martin: wrote autoinsert.el Cheng Gao: changed MORE.STUFF flymake.el tips.texi url-dired.el url-file.el url-handlers.el url-http.el url-nfs.el -Chong Yidong: changed cus-edit.el simple.el files.el custom.el - display.texi xdisp.c longlines.el files.texi info.el keyboard.c - compile.el custom.texi text.texi xterm.c frames.texi image-mode.el - mouse.el misc.texi startup.el wid-edit.el cus-theme.el - and 297 other files +Chong Yidong: changed files.el simple.el cus-edit.el xdisp.c longlines.el + display.texi custom.el files.texi image-mode.el keyboard.c info.el + compile.el custom.texi text.texi xterm.c frames.texi image.c mouse.el + misc.texi startup.el wid-edit.el and 322 other files Chris Hanson: changed xscheme.el scheme.el xterm.c hpux.h x11term.c hp9000s300.h keyboard.c process.c texinfmt.el emacsclient.c sort.el syntax.c texnfo-upd.el x11fns.c xfns.c dired.el fileio.c hp9000s800.h indent.c info.el man.el and 17 other files -Chris Moore: changed dired.el hexl.el replace.el Makefile.in gnus-sum.el - isearch.el jka-cmpr-hook.el pgg-gpg.el pgg-pgp.el pgg-pgp5.el - tutorial.el wdired.el +Chris Moore: changed dired.el hexl.el replace.el Makefile.in comint.el + gnus-sum.el isearch.el jka-cmpr-hook.el pgg-gpg.el pgg-pgp.el + pgg-pgp5.el server.el shell.el tutorial.el wdired.el Chris Prince: changed w32term.c @@ -393,10 +404,12 @@ and changed calc.el replace.el update-game-score.c calc-ext.el Craig Mcdaniel: changed sheap.c +D. E. Evans: changed basic.texi + Daiki Ueno: wrote pgg-def.el pgg-gpg.el pgg-parse.el pgg-pgp.el pgg-pgp5.el pgg.el starttls.el -and changed gnus-sum.el mml2015.el gnus-agent.el gnus-srvr.el - message.texi mml1991.el pgg.texi +and changed gnus-sum.el mml2015.el faces.el gnus-agent.el gnus-srvr.el + message.texi mml1991.el pgg.texi utf-7.el Dale Gulledge: changed TUTORIAL.eo @@ -415,10 +428,10 @@ Dan Christensen: changed gnus-sum.el nnfolder.el gnus-art.el gnus-group.el gnus-registry.el gnus-score.el nndoc.el nnmail.el Dan Nicolaescu: wrote iris-ansi.el romanian.el -and changed term.el xterm.el hideshow.el isearch.el icon.el lisp.h - cus-edit.el faces.el font-lock.el grep.el sh-script.el eterm-color.ti - ibuffer.el rxvt.el vhdl-mode.el xterm.c bindings.el compile.el - dabbrev.el imenu.el outline.el and 166 other files +and changed xterm.el term.el hideshow.el vc-hg.el verilog-mode.el + files.el isearch.el sh-script.el font-lock.el icon.el lisp.h vc.el + cus-edit.el faces.el grep.el diff-mode.el eterm-color.ti ibuffer.el + replace.el rxvt.el term.c and 192 other files Daniel Brockman: changed cus-start.el format-spec.el ibuffer.el rcirc.el @@ -459,7 +472,7 @@ Dave Love: wrote autoarg.el autoconf.el benchmark.el cfengine.el latin-9.el latin1-disp.el python.el refill.el rfc1345.el sgml-input.el smiley.el subst-big5.el subst-gb2312.el subst-jis.el subst-ksc.el tool-bar.el ucs-tables.el uni-input.el utf-16.el utf-7.el utf-8-lang.el - welsh.el + vc-bzr.el welsh.el and changed configure.in Makefile.in help.el fortran.el browse-url.el mule-cmds.el simple.el xterm.c cus-edit.el files.el info.el mule.el wid-edit.el fns.c vc.el rfc2047.el bindings.el cus-start.el buffer.c @@ -492,7 +505,8 @@ David Gillespie: wrote calc-aent.el calc-alg.el calc-arith.el calc-bin.el cl.texinfo complete.el edmacro.el and changed info.el bytecomp.el -David Hansen: changed nnrss.el cc-cmds.el lisp.el pcomplete.el tempo.el +David Hansen: changed nnrss.el cc-cmds.el em-dirs.el lisp.el pcomplete.el + tempo.el David Hedbor: changed gnus-art.el mm-decode.el mm-view.el gnus-agent.el gnus-cite.el gnus-cus.el gnus-eform.el gnus-group.el gnus-msg.el @@ -510,7 +524,7 @@ David J. Mackenzie: changed configure.in etags.c fakemail.c movemail.c David Kastrup: changed greek.el replace.el faq.texi search.c ange-ftp.el help.el mouse.el Makefile.in calc.el desktop.el keymaps.texi meta-mode.el process.c search.texi subr.el woman.el DEBUG DEVEL.HUMOR - MAILINGLISTS autoload.el browse-url.el and 37 other files + MAILINGLISTS advice.el autoload.el and 40 other files David K,Ae(Bgedal: wrote tempo.el and changed sendmail.el xmenu.c @@ -561,7 +575,7 @@ David Vazquez: changed m4-mode.el David Z. Maze: changed nnml.el nnrss.el -Davis Herring: changed timeclock.el +Davis Herring: changed desktop.el timeclock.el Deanna Phillips: changed configure.in @@ -587,11 +601,13 @@ Detlev Zundel: wrote re-builder.el Dhruva Krishnamurthy: changed makefile.w32-in +Dhuvra Krishnamurthy: changed makefile.w32-in w32proc.c + Diane Murray: changed erc.el erc-menu.el erc-backend.el erc-button.el erc-track.el erc-match.el erc-nets.el erc-list.el erc-autoaway.el erc-capab.el erc-nickserv.el erc-stamp.el erc-compat.el erc-fill.el - erc-goodies.el erc-ibuffer.el erc-log.el Makefile erc-dcc.el - erc-networks.el erc-nicklist.el and 32 other files + erc-goodies.el erc-ibuffer.el erc-log.el url-http.el Makefile + erc-dcc.el erc-networks.el and 36 other files Dick King: wrote uniquify.el @@ -615,7 +631,9 @@ Doug Cutting: wrote disass.el Doug Maxey: changed mouse.el -Drew Adams: changed speedbar.el +Drake Wilson: changed files.el + +Drew Adams: changed cus-edit.el speedbar.el E. Jay Berkenbilt: changed flyspell.el ispell.el window.h @@ -623,6 +641,8 @@ Ed L. Cashin: changed gnus-sum.el imap.el Ed Swarthout: changed hexl.el +Eduard Wiebe: changed flymake.texi + Eduardo Mu,Aq(Boz: changed dired.el ls-lisp.el Edward M. Reingold: wrote cal-china.el cal-coptic.el cal-french.el @@ -636,7 +656,7 @@ and changed diary.el tex-mode.el cal-tex.el cal-mayan.el holiday.el Edward O'connor: changed erc.el erc-viper.el erc-log.el erc-track.el viper.el erc-backend.el erc-chess.el erc-dcc.el erc-ezbounce.el erc-goodies.el erc-list.el erc-macs.el erc-match.el erc-ring.el - erc-stamp.el goto-addr.el python.el + erc-stamp.el goto-addr.el python.el url-auth.el Edwin Steiner: changed gnus-nocem.el @@ -651,12 +671,12 @@ Eli Tziperman: wrote rmail-spam-filter.el Eli Zaretskii: wrote codepage.el rxvt.el tty-colors.el and changed msdos.c Makefile.in makefile.w32-in files.el info.el fileio.c - startup.el mainmake.v2 config.bat rmail.el menu-bar.el pc-win.el - simple.el msdos.h internal.el xfaces.c emacs.c frame.c INSTALL dosfns.c - faces.el and 532 other files + startup.el mainmake.v2 rmail.el config.bat menu-bar.el simple.el + pc-win.el msdos.h internal.el xfaces.c emacs.c frame.c INSTALL dosfns.c + mule-cmds.el and 537 other files Emanuele Giaquinta: changed rxvt.el configure.in etags.c frame.el - sh-script.el text.texi + gnus-faq.texi sh-script.el text.texi Emilio C. Lopes: changed woman.el cmuscheme.el help.el vc.el advice.el animate.el apropos.el artist.el bookmark.el cal-menu.el calc-prog.el @@ -682,7 +702,7 @@ and changed mh-utils.el mh-e.el mh-comp.el mh-mime.el Eric Eide: changed gnus-xmas.el Eric Hanchrow: changed TUTORIAL.es abbrev.el autorevert.el cperl-mode.el - delphi.el dired.el emacsclient.c erc.el ispell.el make-dist + delphi.el dired.el emacsclient.c erc.el ibuf-ext.el ispell.el make-dist ,AI(Bric Jacoboni: changed fr-refcard.tex @@ -747,10 +767,10 @@ Florian Weimer: changed message.el gnus.el coding.c gnus.texi mm-util.el Francesc Rocher: changed cus-start.el macterm.c w32term.c xdisp.c xterm.c Francesco Potort,Al(B: wrote cmacexp.el -and changed etags.c man.el delta.h undigest.el etags.1 comint.el - configure.in uniquify.el latin-post.el maintaining.texi rmail.el +and changed etags.c man.el delta.h etags.1 undigest.el comint.el + configure.in maintaining.texi uniquify.el latin-post.el rmail.el Makefile.in etags.el latin-alt.el sgml-mode.el data.c european.el - filelock.c files.el generic-x.el gud.el and 43 other files + filelock.c files.el generic-x.el gud.el and 44 other files Francis J. Wright: wrote woman.el and changed dired.el comint.el files.el @@ -853,10 +873,10 @@ Giorgos Keramidas: changed configure.in MACHINES amdx86-64.h apropos.el Giuseppe Scrivano: changed buffer.c configure.in sysdep.c xsmfns.c Glenn Morris: changed f90.el diary-lib.el calendar.el fortran.el - calendar.texi appt.el sh-script.el Makefile.in timeclock.el cal-menu.el - files.el complete.el configure.in programs.texi startup.el MACHINES - abbrevs.texi cal-hebrew.el cal-islam.el emacs.texi faq.texi - and 151 other files + calendar.texi COPYING appt.el Makefile.in files.el sh-script.el + timeclock.el cal-menu.el configure.in simple.el tex-mode.el calc.texi + complete.el fr-refcard.tex orgcard.tex programs.texi startup.el + and 250 other files Glynn Clements: wrote gamegrid.el snake.el tetris.el @@ -892,6 +912,8 @@ Gustav H,Ae(Bllberg: changed compile.el rect.el Guy Geens: changed gnus-score.el +Gwern Branwen: changed browse-url.el + G,Av(Bran Uddeborg: changed isc4-1.h Hallvard B. Furuseth: changed gnus-util.el editfns.c gnus-cache.el @@ -985,12 +1007,18 @@ Inoue Seiichiro: changed xterm.c xfns.c xterm.h International Business Machines: changed emacs.c fileio.c ibmrt-aix.h ibmrt.h process.c sysdep.c unexec.c +Irie Tetsuya: changed gnus.texi message.texi + Ishikawa Chiaki: changed aviion.h dgux.h Istvan Marko: changed gnus-agent.el xfns.c +Itai Zukerman: changed mm-decode.el + Ivan Boldyrev: changed mml1991.el +Ivan Kanis: wrote vc-hg.el + Ivan Zakharyaschev: changed codepage.el lread.c Ivar Rummelhoff: wrote winner.el @@ -1032,9 +1060,9 @@ and changed bytecode.c mail-extr.el subr.el Jan Dj,Ad(Brv: wrote dnd.el x-dnd.el and changed gtkutil.c xterm.c xfns.c xmenu.c xterm.h configure.in - gtkutil.h x-win.el Makefile.in keyboard.c frames.texi config.in - xselect.c emacs.c alloc.c xlwmenu.c xresources.texi frame.c startup.el - xdisp.c cus-start.el and 176 other files + x-win.el gtkutil.h keyboard.c Makefile.in frames.texi config.in + xselect.c emacs.c alloc.c xlwmenu.c xresources.texi startup.el frame.c + xdisp.c xfaces.c and 177 other files Jan Nieuwenhuizen: changed info.el TUTORIAL.nl emacs.c emacsclient.c gnus-start.el gud.el nnmh.el server.el startup.el @@ -1048,17 +1076,17 @@ Jan Vroonhof: changed gnus-cite.el gnus-msg.el nntp.el Jan-Hein Buhrman: changed ange-ftp.el env.el Jari Aalto: changed add-log.el filecache.el gnus-art.el lisp-mnt.el - nnmail.el apropos.el autorevert.el compile.el cperl-mode.el debug.el - executable.el files.el finder.el font-lock.el gnus.el gnus.texi grep.el - ls-lisp.el man.el sendmail.el terminal.el + man.el nnmail.el apropos.el autorevert.el comint.el compile.el + cperl-mode.el debug.el executable.el files.el finder.el font-lock.el + gnus.el gnus.texi grep.el ls-lisp.el sendmail.el terminal.el Jason Merrill: changed gnus-sum.el gnus-salt.el imap.el nnfolder.el Jason Rumney: wrote w32-vars.el -and changed w32fns.c w32term.c w32menu.c w32-win.el w32term.h - makefile.w32-in w32.c w32bdf.c w32-fns.el w32select.c w32console.c - w32gui.h w32proc.c keyboard.c mule-cmds.el emacs.c fileio.c w32bdf.h - w32inevt.c config.nt configure.bat and 84 other files +and changed w32fns.c w32term.c w32menu.c w32-win.el makefile.w32-in + w32term.h w32.c w32bdf.c w32-fns.el w32proc.c w32select.c w32console.c + mule-cmds.el w32gui.h keyboard.c emacs.c fileio.c files.el nmake.defs + w32bdf.h w32inevt.c and 94 other files Jay Belanger: changed calc.texi calc.el calc-ext.el calc-embed.el calc-aent.el calc-prog.el calc-arith.el calc-help.el calc-lang.el @@ -1074,7 +1102,7 @@ Jean-Philippe Theberge: wrote thumbs.el Jeff Dwork: changed ehelp.el facemenu.el -Jeff Miller: changed appt.el +Jeff Miller: changed appt.el calendar.el Jeff Morgenthaler: changed flow-ctrl.el vt200.el vt201.el vt220.el vt240.el @@ -1125,7 +1153,8 @@ and changed keyboard.c xterm.c xfns.c Makefile.in window.c process.c Jim Kingdon: changed MACHINES SERVICE emacsclient.c emacs.tex hp300bsd.h rmail.el -Jim Meyering: changed Makefile.in grep-changelog +Jim Meyering: changed Makefile.in autoinsert.el copyright.el + grep-changelog Jim Radford: changed gnus-start.el @@ -1168,7 +1197,7 @@ Joe Ramey: changed filelock.c rmailsum.el Joe Reiss: changed gnus-art.el Joe Wells: wrote apropos.el mail-extr.el resume.el -and changed arc-mode.el +and changed arc-mode.el tex-mode.el Joel N. Weber Ii: changed comint.el make-dist @@ -1176,15 +1205,19 @@ Joel Ray Holveck: changed gnus-sum.el info.el Joev Dubach: changed nntp.el +Johan Bockg$: changed info.el + Johan Bockg,Ae(Brd: changed erc.el erc-backend.el cl-macs.el erc-match.el custom.el erc-nickserv.el erc-ring.el erc-speak.el erc-track.el - simple.el align.el bytecomp.el calendar.el cl.texi dired-aux.el - dired-x.el display.texi erc-bbdb.el erc-button.el erc-compat.el - erc-dcc.el and 16 other files + simple.el subr.el xterm.el align.el browse-url.el bytecomp.el + calendar.el cl.texi dired-aux.el dired-x.el display.texi erc-bbdb.el + and 23 other files Johan Vromans: wrote forms-d2.el forms.el iso-acc.el and changed complete.el +Johannes Weiner: changed lisp-mode.el + John Basrai: changed man.el John F. Carr: changed dired.c @@ -1206,10 +1239,9 @@ John J Foerch: changed erc-stamp.el John Mongan: changed f90.el John Paul Wallington: changed ibuffer.el ibuf-ext.el subr.el files.el - help-fns.el rmail.el thumbs.el fns.c bindings.el bytecomp.el - cus-theme.el info.el re-builder.el simple.el startup.el xfns.c - apropos.el arc-mode.el browse-url.el comint.el cus-start.el - and 117 other files + help-fns.el rmail.el thumbs.el fns.c xfns.c bindings.el bytecomp.el + cus-theme.el info.el re-builder.el simple.el startup.el apropos.el + arc-mode.el browse-url.el comint.el cus-start.el and 117 other files John Robinson: wrote bg-mouse.el @@ -1230,7 +1262,7 @@ and changed erc-chess.el erc.el iswitchb.el Makefile.in allout.el cal-menu.el calendar.el compile.el desktop.el diary-lib.el erc-bbdb.el erc-button.el erc-complete.el erc-fill.el erc-ibuffer.el erc-list.el erc-match.el erc-menu.el erc-nets.el erc-replace.el erc-speak.el - and 11 other files + and 12 other files John Williams: changed etags.el @@ -1282,10 +1314,10 @@ Jouni K. Sepp,Ad(Bnen: changed gnus.texi nnimap.el mm-url.el Juan Le,As(Bn Lahoz Garc,Am(Ba: wrote wdired.el and changed files.el perl-mode.el -Juanma Barranquero: changed makefile.w32-in subr.el faces.el help-fns.el - files.el simple.el buffer.c w32fns.c emacsclient.c replace.el - vhdl-mode.el bs.el cperl-mode.el eval.c org.el process.c xdisp.c - idlwave.el sh-script.el window.c ada-mode.el and 629 other files +Juanma Barranquero: changed makefile.w32-in subr.el faces.el files.el + help-fns.el bs.el w32fns.c buffer.c simple.el desktop.el emacsclient.c + replace.el eval.c org.el idlwave.el ido.el process.c vhdl-mode.el + window.c xdisp.c allout.el and 661 other files Juergen Hoetzel: changed url-handlers.el @@ -1299,10 +1331,10 @@ Junio Hamano: changed window.el Jure Cuhalev: changed ispell.el -Juri Linkov: changed info.el simple.el replace.el isearch.el compile.el +Juri Linkov: changed info.el simple.el isearch.el replace.el compile.el faces.el display.texi grep.el descr-text.el cus-edit.el dired.el - dired-aux.el edebug.el compare-w.el files.el lisp-mode.el lisp.el - modes.texi mule.el desktop.el files.texi and 221 other files + startup.el dired-aux.el edebug.el compare-w.el desktop.el files.el + lisp-mode.el lisp.el man.el menu-bar.el and 224 other files Justin Sheehy: changed gnus-sum.el nntp.el @@ -1332,9 +1364,9 @@ Kanematsu Daiji: changed nnimap.el Karl Berry: changed emacs.texi info.texi elisp.texi anti.texi display.texi emacs-xtra.texi filelock.c gnu.texi mule.texi texinfo.tex - text.texi building.texi cmdargs.texi control.texi copyright.el - custom.texi customize.texi dired.c dired.texi faq.texi frames.texi - and 72 other files + text.texi .cvsignore building.texi cmdargs.texi control.texi + copyright.el custom.texi customize.texi dired.c dired.texi faq.texi + and 77 other files Karl Chen: changed files.el align.el cc-vars.el gnus-art.el help-mode.el jka-cmpr-hook.el make-mode.el perl-mode.el python.el tex-mode.el @@ -1364,9 +1396,9 @@ Katsuhiro Hermit Endo: changed gnus-group.el gnus-spec.el Katsumi Yamaoka: wrote canlock.el and changed gnus-art.el message.el gnus-sum.el gnus.texi mm-decode.el - mm-view.el gnus-util.el gnus-msg.el mm-util.el gnus.el lpath.el - gnus-group.el gnus-start.el rfc2047.el dgnushack.el mm-uu.el nntp.el - gnus-agent.el mml.el nnrss.el message.texi and 72 other files + mm-view.el gnus-util.el gnus.el mm-util.el gnus-msg.el nntp.el + gnus-agent.el gnus-start.el lpath.el rfc2047.el gnus-group.el + dgnushack.el mm-uu.el mml.el nnrss.el message.texi and 76 other files Kaveh R. Ghazi: changed delta88k.h xterm.c @@ -1442,10 +1474,10 @@ Kevin Rodgers: changed compile.el mailabbrev.el dired-x.el files.el and 5 other files Kevin Ryde: wrote info-xref.el -and changed info-look.el info.el arc-mode.el cl.texi gnus-art.el - gnus-sum.el mailcap.el mule.el os.texi text.texi MORE.STUFF cal-dst.el - calendar.texi cc-align.el cmdargs.texi compile.texi display.texi - em-alias.el em-dirs.el em-hist.el em-unix.el and 19 other files +and changed info-look.el info.el mule.el arc-mode.el cl.texi gnus-art.el + gnus-sum.el mailcap.el os.texi text.texi MORE.STUFF cal-dst.el + calendar.texi cc-align.el cmdargs.texi compilation.txt compile.el + compile.texi custom.texi display.texi em-alias.el and 22 other files Kim F. Storm: wrote bindat.el cua-base.el cua-gmrk.el cua-rect.el ido.el keypad.el kmacro.el @@ -1457,6 +1489,8 @@ and changed xdisp.c dispextern.h process.c simple.el window.c keyboard.c Kim-Minh Kaplan: changed gnus-picon.el gnus-sum.el gnus-start.el gnus-win.el gnus-xmas.el gnus.texi message.el nndraft.el nnml.el +Kimit Yada: changed copyright.el + Kishore Kumar: changed terminal.el Klaus Straubinger: changed url-http.el url-history.el url-cookie.el @@ -1472,6 +1506,8 @@ Kobayashi Yasuhiro: changed w32fns.c configure.bat indent.c info.el Kohtala Marko: changed info.el +Konstantin Novitsky: changed python.el + Koseki Yoshinori: wrote iimage.el and changed nnmail.el @@ -1529,11 +1565,12 @@ Lasse Rasinen: changed gnus-start.el Laurent Martelli: changed mm-decode.el -Lawrence Mitchell: wrote erc-backend.el erc-log.el erc-nicklist.el +Lawrence Mitchell: wrote erc-backend.el erc-log.el and changed erc.el erc-match.el erc-nets.el erc-nickserv.el erc-button.el erc-compat.el erc-dcc.el erc-fill.el erc-list.el erc-track.el Makefile erc-autoaway.el erc-autojoin.el erc-bbdb.el erc-ezbounce.el erc-menu.el - erc-netsplit.el erc-notify.el erc-sound.el subr.el tempo.el + erc-netsplit.el erc-nicklist.el erc-notify.el erc-sound.el objects.texi + and 3 other files Lawrence R. Dodd: wrote dired-x.el and changed fortran.el ispell.el sendmail.el cmuscheme.el comint.el @@ -1588,7 +1625,7 @@ and changed emacsclient.c emacsserver.c etags.c lisp.h movemail.c Maciek Pasternacki: changed nnrss.el Magnus Henoch: changed url-http.el ispell.el url.el url-gw.el - url-parse.el url-proxy.el autoinsert.el rcirc.el url-https.el + url-parse.el url-proxy.el autoinsert.el process.c rcirc.el url-https.el Manuel Serrano: wrote flyspell.el @@ -1697,10 +1734,10 @@ Martin Lorentzon: changed vc.el vc-cvs.el vc-hooks.el vc-rcs.el Martin Neitzel: changed sc.el -Martin Rudalics: changed cus-edit.el wid-edit.el cus-start.el files.el - flyspell.el font-lock.el complete.el insdel.c ispell.el macmenu.c - syntax.c table.el w32menu.c wdired.el whitespace.el window.el xdisp.c - xmenu.c backups.texi buffer.c buffer.h and 36 other files +Martin Rudalics: changed cus-start.el cus-edit.el files.el wid-edit.el + window.el flyspell.el font-lock.el mouse.el syntax.c xdisp.c compile.el + complete.el dired.el frame.c frame.el insdel.c ispell.el keyboard.c + macmenu.c macterm.c msdos.c and 65 other files Martin Stjernholm: wrote cc-bytecomp.el and changed cc-engine.el cc-cmds.el cc-langs.el cc-defs.el cc-mode.el @@ -1708,6 +1745,8 @@ and changed cc-engine.el cc-cmds.el cc-langs.el cc-defs.el cc-mode.el cc-mode.texi Makefile.in cc-guess.el cc-mode-19.el ack.texi awk-mode.el cc-awk.el cc-lobotomy.el cc-make.el cc-style.el and 5 other files +Martin Svenson: changed python.el + Martin Thornquist: changed gnus-group.el gnus-topic.el Masahiko Sato: wrote vip.el @@ -1719,9 +1758,9 @@ and changed gnuspost.el Masatake Yamato: wrote cc-subword.el ld-script.el and changed etags.el asm-mode.el hexl.el xdisp.c bindings.el man.el - simple.el wid-edit.el add-log.el compile.el faces.el pcvs.el + simple.el wid-edit.el add-log.el compile.el etags.c faces.el pcvs.el register.el ruler-mode.el buffer.c cus-face.el dired-x.el display.texi - etags.c font-lock.el gdb-ui.el and 59 other files + font-lock.el gdb-ui.el and 60 other files Masayuki Ataka: changed texinfmt.el texinfo.el characters.el cmuscheme.el make-mode.el @@ -1747,6 +1786,8 @@ Matt Simmons: changed message.el Matt Swift: changed compile.el dired.el editfns.c lisp-mode.el mm-decode.el outline.el rx.el simple.el startup.el +Matthew Luckie: changed configure.in + Matthew Mundell: changed calendar.texi diary-lib.el files.texi type-break.el debugging.texi display.texi edebug.texi editfns.c eval.c fileio.c frames.texi help.texi internals.texi modes.texi nonascii.texi @@ -1765,9 +1806,9 @@ Max Froumentin: changed gnus-art.el mml.el Michael Albinus: wrote tramp-ftp.el tramp-smb.el and changed tramp.el tramp.texi tramp-vc.el ange-ftp.el files.el - tramp-util.el files.texi nnml.el tramp-uu.el vc.el dired-x.el dired.el - faq.texi find-dired.el locate.el mini.texi rcompile.el tramp*.el - trampver.el trampver.texi woman.el + tramp-util.el trampver.el files.texi nnml.el tramp-uu.el trampver.texi + vc.el dired-x.el dired.el faq.texi ffap.el find-dired.el locate.el + mini.texi rcompile.el socks.el and 4 other files Michael Ben-Gershon: changed acorn.h configure.in riscix1-1.h riscix1-2.h unexec.c @@ -1801,15 +1842,17 @@ Michael Kifer: wrote cal-x.el ediff-diff.el ediff-help.el ediff-hook.el ediff-vers.el ediff-wind.el ediff.el viper-cmd.el viper-ex.el viper-init.el viper-keym.el viper-macs.el viper-mous.el viper-util.el viper.el -and changed ediff-merge.el ediff*.el viper*.el ediff-hooks.el menu-bar.el - viper-utils.el appt.el desktop.el ediff-meta.el ediff-nult.el - ediff.texi viper-mouse.el viper.texi +and changed ediff*.el viper*.el ediff-hooks.el ediff-merge.el menu-bar.el + appt.el desktop.el ediff-meta.el ediff-nult.el ediff.texi + viper-mouse.el viper.texi + +Michael Mcnamara: wrote verilog-mode.el Michael Olson: changed erc.el erc-backend.el erc.texi Makefile erc-autoaway.el erc-log.el erc-stamp.el erc-identd.el erc-list.el erc-track.el erc-match.el erc-bbdb.el erc-dcc.el erc-notify.el - erc-ibuffer.el erc-pcomplete.el erc-spelling.el erc-compat.el - erc-goodies.el erc-nicklist.el ERC-NEWS and 44 other files + erc-ibuffer.el erc-nicklist.el erc-pcomplete.el erc-spelling.el + erc-compat.el erc-goodies.el ERC-NEWS and 44 other files Michael Piotrowski: changed gnus-sum.el ps-print.el @@ -1842,7 +1885,7 @@ Michal Nazarewicz: changed ispell.el Micha,Ak(Bl Cadilhac: changed ido.el fill.el ispell.el Makefile anti.texi battery.el blackbox.el bs.el cmuscheme.el complete.el cus-edit.el dispnew.c faq.texi flyspell.el footnote.el fr-refcard.ps fr-refcard.tex - glasses.el info.el life.el lpr.el and 12 other files + glasses.el gud.el info.el life.el and 14 other files Michelangelo Grigni: wrote ffap.el and changed gnus-score.el @@ -1877,7 +1920,7 @@ Miles Bader: wrote button.el image-file.el macroexp.el minibuf-eldef.el and changed comint.el faces.el simple.el editfns.c xfaces.c info.el xdisp.c minibuf.c wid-edit.el xterm.c subr.el window.el cus-edit.el diff-mode.el dispextern.h quick-install-emacs xfns.c help.el lisp.h - textprop.c bytecomp.el and 242 other files + textprop.c bytecomp.el and 245 other files Miyashita Hisashi: changed ccl.c coding.c coding.h mule-cmds.el mule-conf.el mule.el pop3.el @@ -1932,9 +1975,10 @@ Niall Mansfield: changed etags.c Nick Roberts: wrote gdb-ui.el and changed gud.el building.texi tooltip.el speedbar.el bindings.el - thumbs.el xt-mouse.el .gdbinit DEBUG cc-mode.el t-mouse.el frames.texi - subr.el comint.el display.texi help-mode.el compile.el descr-text.el - dired.el gud-display.pbm speedbar.texi and 116 other files + thumbs.el xt-mouse.el .gdbinit DEBUG cc-mode.el subr.el t-mouse.el + comint.el frames.texi display.texi help-mode.el compile.el + descr-text.el dired.el gud-display.pbm speedbar.texi + and 120 other files Nico Francois: changed w32fns.c w32inevt.c w32menu.c @@ -1944,6 +1988,8 @@ Niklas Morberg: changed nnweb.el gnus-art.el nnimap.el spam.el Nikolaj Schumacher: changed compile.el rx.el +Nils Ackermann: changed message.el nnmh.el + Noah Friedman: wrote eldoc.el rlogin.el rsz-mini.el type-break.el and changed comint.el emacs-buffer.gdb files.el mailabbrev.el sendmail.el subr.el timer.el yow.el battery.el complete.el config.in configure.in @@ -1954,7 +2000,7 @@ Nobuyuki Hikichi: changed news-risc.h Noel Cragg: changed mh-junk.el -Norbert Koch: changed gnus-score.el +Norbert Koch: changed gnus-msg.el gnus-score.el Nozomu Ando: changed unexmacosx.c alloc.c buffer.c mips.h pmax.h smtpmail.el sysselect.h unexelf.c @@ -2091,6 +2137,10 @@ Peter Kleiweg: wrote ps-mode.el Peter Liljenberg: wrote elint.el +Peter O'gorman: changed configure.in frame.h gtkutil.c termhooks.h + +Peter Povinec: changed term.el + Peter Runestig: changed makefile.w32-in configure.bat dos-w32.el emacs.rc envadd.bat gmake.defs multi-install-info.bat nmake.defs w32fns.c zone-mode.el @@ -2111,12 +2161,16 @@ Peter Von Der Ahe: changed gnus-ems.el Peter Whaite: changed data.c +Petr Salinger: changed configure.in gnu-kfreebsd.h + Petri Kaurinkoski: changed configure.in iris4d.h irix6-0.h irix6-5.h usg5-4.h +Phil Sung: changed wdired.el + Philippe Schnoebelen: wrote gomoku.el mpuz.el -Philippe Waroquiers: changed etags.el +Philippe Waroquiers: changed etags.el term.c Piet Van Oostrum: changed data.c fileio.c flyspell.el make-package smtpmail.el @@ -2148,11 +2202,11 @@ Rajesh Vaidheeswarran: wrote whitespace.el and changed ffap.el Ralf Angeli: wrote scroll-lock.el -and changed w32fns.c tex-mode.el comint.el flow-fill.el frame.el - gnus-art.el killing.texi mm-view.el pcl-cvs.texi reftex-auc.el +and changed w32fns.c reftex.el tex-mode.el comint.el flow-fill.el + frame.el gnus-art.el killing.texi mm-view.el pcl-cvs.texi reftex-auc.el reftex-cite.el reftex-dcr.el reftex-global.el reftex-index.el reftex-parse.el reftex-ref.el reftex-sel.el reftex-toc.el - reftex-vars.el reftex.el reftex.texi and 4 other files + reftex-vars.el reftex.texi and 4 other files Ralf Fassel: changed dabbrev.el files.el fill.el iso-acc.el tar-mode.el @@ -2174,11 +2228,11 @@ and changed gnus-art.el gnus-msg.el gnus.texi message.el nnmail.el pgg-gpg.el Reiner Steib: wrote gmm-utils.el -and changed gnus-art.el gnus.texi message.el gnus-sum.el gnus.el - gnus-group.el gnus-faq.texi gnus-util.el mml.el gnus-score.el - gnus-start.el message.texi mm-util.el gnus-agent.el gnus-msg.el spam.el - files.el spam-report.el mm-decode.el nnmail.el nnweb.el - and 166 other files +and changed gnus.texi gnus-art.el message.el gnus-sum.el gnus.el + gnus-group.el gnus-faq.texi mm-util.el gnus-start.el gnus-util.el + message.texi mml.el gnus-score.el gnus-agent.el gnus-msg.el spam.el + files.el nnmail.el spam-report.el mail-source.el mm-decode.el + and 170 other files Remek Trzaska: changed gnus-ems.el @@ -2188,7 +2242,10 @@ Renaud Rioboo: changed nnmail.el Ren,Ai(B Kyllingstad: changed pcomplete.el -Reto Zimmermann: changed vhdl-mode.el +Reto Zimmermann: wrote vera-mode.el +and changed vhdl-mode.el + +Riccardo Murri: changed vc-bzr.el tls.el Richard Bielawski: changed modes.texi @@ -2206,10 +2263,10 @@ Richard M. Heiberger: changed tex-mode.el Richard M. Stallman: wrote [The original GNU Emacs and numerous files] easymenu.el font-lock.el image-mode.el menu-bar.el paren.el -and changed keyboard.c files.el simple.el xterm.c xdisp.c rmail.el - fileio.c process.c sysdep.c xfns.c buffer.c Makefile.in window.c - configure.in subr.el startup.el emacs.c editfns.c sendmail.el info.el - dispnew.c and 1334 other files +and changed keyboard.c files.el simple.el xterm.c xdisp.c fileio.c + rmail.el process.c sysdep.c xfns.c buffer.c Makefile.in window.c + configure.in subr.el startup.el emacs.c editfns.c info.el sendmail.el + dispnew.c and 1337 other files Richard Mlynarik: wrote cl-indent.el ebuff-menu.el ehelp.el env.c rfc822.el terminal.el yow.el @@ -2292,6 +2349,9 @@ Russ Allbery: changed message.el Ryan Yeske: wrote rcirc.el and changed ffap.el ispell.el rmailsum.el simple.el testcover.el + webjump.el + +Ryo Yoshitake: changed mac.c Ryszard Kubiak: changed ogonek.el @@ -2310,7 +2370,7 @@ Sam Steingold: wrote gulp.el midnight.el and changed cl-indent.el font-lock.el ange-ftp.el mouse.el tex-mode.el vc-cvs.el add-log.el bindings.el bookmark.el debug.el diary-lib.el dired.el pcvs.el sgml-mode.el simple.el browse-url.el buff-menu.el - bytecomp.el cc-mode.el compile.el etags.el and 96 other files + bytecomp.el cc-mode.el compile.el etags.el and 97 other files Samuel Tardieu: changed smime.el @@ -2341,7 +2401,7 @@ Scott M. Meyers: changed cmacexp.el Sean Neakums: changed gnus-msg.el gnus-uu.el -Sean O'rourke: changed ibuf-ext.el +Sean O'rourke: changed find-func.el ibuf-ext.el Sebastian Kremer: wrote dired-aux.el dired-x.el dired.el ls-lisp.el and changed add-log.el @@ -2385,10 +2445,10 @@ Simon Josefsson: wrote dig.el dns-mode.el flow-fill.el fringe.el imap.el sieve-manage.el sieve-mode.el sieve.el smime.el starttls.el tls.el url-imap.el and changed message.el gnus-sum.el gnus-art.el smtpmail.el pgg.el - mml2015.el pgg-gpg.el gnus-agent.el mml.el mm-decode.el mml1991.el + pgg-gpg.el mml2015.el gnus-agent.el mml.el mm-decode.el mml1991.el gnus-group.el gnus-msg.el pgg-pgp5.el gnus-sieve.el browse-url.el gnus-int.el gnus.el pgg-parse.el gnus-cache.el mail-source.el - and 89 other files + and 88 other files Simon Leinen: changed smtpmail.el Makefile Makefile.in cm.c cm.h hpux9.h indent.c process.c sc.texinfo sgml-mode.el term.c xfns.c xmenu.c @@ -2412,13 +2472,13 @@ Sriram Karra: changed message.el Stanislav Shalunov: wrote uce.el -Stefan Monnier: wrote bibtex.el cvs-status.el diff-mode.el log-edit.el - log-view.el pcvs-defs.el pcvs-info.el pcvs-parse.el pcvs-util.el - reveal.el smerge-mode.el +Stefan Monnier: wrote bibtex-style.el bibtex.el css-mode.el cvs-status.el + diff-mode.el log-edit.el log-view.el pcvs-defs.el pcvs-info.el + pcvs-parse.el pcvs-util.el reveal.el smerge-mode.el vc-mtn.el and changed vc.el font-lock.el pcvs.el newcomment.el subr.el lisp.h - keyboard.c fill.el keymap.c tex-mode.el alloc.c compile.el files.el - regex.c simple.el easy-mmode.el syntax.c vc-hooks.el info.el xdisp.c - sh-script.el and 519 other files + keyboard.c fill.el tex-mode.el keymap.c vc-hooks.el compile.el + simple.el files.el alloc.c easy-mmode.el regex.c syntax.c info.el + xdisp.c sh-script.el and 529 other files Steinar Bang: changed imap.el @@ -2447,7 +2507,7 @@ and changed time-stamp.el mh-e.el mh-comp.el mh-utils.el mh-customize.el Stephen J. Turnbull: changed ediff-init.el strings.texi subr.el Stephen Leake: changed ada-mode.el ada-xref.el ada-stmt.el ada-mode.texi - ada-prj.el align.el + ada-prj.el align.el pcvs-parse.el vhdl-mode.el Steve Fisk: wrote cal-tex.el @@ -2494,8 +2554,9 @@ Sun Yijiang: changed TUTORIAL.cn Sundar Narasimhan: changed rnews.el rnewspost.el -Sven Joachim: changed arc-mode.el de-refcard.tex files.el files.texi - help.el mule.texi sed3v2.inp sh-script.el simple.el +Sven Joachim: changed arc-mode.el de-refcard.tex dired-aux.el files.el + files.texi gnus.texi help.el mule.texi sed3v2.inp sh-script.el + simple.el vc-bzr.el view.el Svend Tollak Munkejord: changed deuglify.el @@ -2505,8 +2566,8 @@ and changed appt.el compile.el dired.c etags.c ldap.el makefile.w32-in Takahashi Kaoru: changed texinfmt.el -Takahashi Naoto: wrote cyrillic.el ethio-util.el ethiopic.el latin-alt.el - latin-ltx.el latin-post.el utf-8.el +Takahashi Naoto: wrote cyrillic.el ethio-util.el ethiopic.el latin-ltx.el + latin-post.el utf-8.el and changed fontset.el mule-conf.el quail.el Takai Kousuke: changed ccl.el @@ -2525,7 +2586,7 @@ Teodor Zlatanov: wrote gnus-registry.el spam-report.el and changed spam.el gnus.el gnus-sum.el nnmail.el gnus-start.el spam-stat.el gnus.texi lpath.el nnbabyl.el nnfolder.el nnimap.el nnmbox.el nnmh.el nnml.el replace.el simple.el basic.texi building.texi - commands.texi compile.el dig.el and 12 other files + commands.texi compile.el dig.el and 13 other files Terje Rosten: changed xfns.c version.el xterm.c xterm.h @@ -2538,10 +2599,10 @@ Tetsurou Okazaki: changed log-edit.el xterm.c Theodore Jump: changed w32-win.el w32faces.c Thien-Thi Nguyen: wrote hideshow.el make-mms-derivative.el -and changed ewoc.el info.el processes.texi zone.el Makefile.in vc.el - fileio.c lisp-mode.el scheme.el text.texi TUTORIAL.it bindat.el +and changed ewoc.el info.el processes.texi vc.el zone.el Makefile.in + lisp-mode.el fileio.c scheme.el text.texi TUTORIAL.it bindat.el dcl-mode.el display.texi files.el gnus.texi pcvs.el startup.el sysdep.c - vc-rcs.el MORE.STUFF and 129 other files + vc-rcs.el MORE.STUFF and 134 other files Thierry Emery: changed kinsoku.el timezone.el url-http.el wid-edit.el @@ -2588,8 +2649,8 @@ Tom Houlder: wrote mantemp.el Tom Tromey: wrote tcl.el and changed makefile.el buffer.c make-mode.el add-log.el blackbox.el - buff-menu.el doc.c emacsclient.c info.el man.el replace.el xfns.c - xterm.c xterm.h + buff-menu.el diff-mode.el doc.c emacsclient.c gdb-ui.el info.el man.el + replace.el xfns.c xterm.c xterm.h Tom Wurgler: wrote emacs-lock.el and changed subr.el @@ -2638,8 +2699,11 @@ and changed calendar.texi newsticker.texi Makefile.in Ulrich Leodolter: changed w32proc.c -Ulrich Mueller: changed gud.el Makefile.in XMakeAssoc.c case-table.el - fortran.el iso-acc.el sysdep.c +Ulrich Mueller: changed gud.el ChgPane.c ChgSel.c Makefile.in + XMakeAssoc.c bibtex.el case-table.el files.el fortran.el iso-acc.el + msdog-xtra.texi simple.el sysdep.c + +Ulrich Neumerkel: changed xterm.c Ulrik Vieth: wrote meta-mode.el and changed files.el @@ -2657,7 +2721,7 @@ Victor Zandy: wrote zone.el Viktor Dukhovni: wrote unexsunos4.c -Ville Skytt,Ad(B: changed mh-comp.el pgg.el tcl.el +Ville Skytt,Ad(B: changed mh-comp.el pgg.el tcl.el tramp-vc.el Vincent Del Vecchio: changed info.el mh-utils.el @@ -2665,8 +2729,8 @@ Vinicius Jose Latorre: wrote delim-col.el ebnf-abn.el ebnf-bnf.el ebnf-dtd.el ebnf-ebx.el ebnf-iso.el ebnf-otz.el ebnf-yac.el ebnf2ps.el printing.el ps-mule.el and changed ps-print.el ps-prin1.ps ps-bdf.el ps-prin0.ps ps-prin3.ps - ps-prin2.ps lpr.el ps-print.ps subr.el TUTORIAL.pt_BR easymenu.el - loading.texi ps-print-def.el ps-print0.ps ps-vars.el + ps-prin2.ps lpr.el subr.el TUTORIAL.pt_BR easymenu.el loading.texi + ps-print-def.el ps-print0.ps ps-vars.el Vivek Dasmohapatra: changed emacs.c erc-backend.el erc.el sh-script.el xterm.c xterm.h @@ -2682,10 +2746,10 @@ Wayne Mesard: wrote hscroll.el Werner Benger: changed keyboard.c Werner Lemberg: wrote sisheng.el vntelex.el -and changed TUTORIAL.de Makefile.in calc.texi chinese.el czech.el +and changed TUTORIAL.de Makefile.in calc.texi chinese.el czech.el emacs.1 european.el idlwave.el reftex-vars.el reftex.el reftex.texi slovak.el supercite.el .cvsignore advice.el calc-forms.el calc-sel.el calendar.el - china-util.el cl-macs.el cl.texi complete.el and 44 other files + china-util.el cl-macs.el cl.texi and 44 other files Wes Hardaker: changed gnus-score.el gnus-art.el gnus-sum.el gnus-win.el @@ -2695,8 +2759,8 @@ William F. Mann: wrote perl-mode.el William F. Schelter: wrote telnet.el -William M. Perry: wrote mailcap.el url-dav.el url-gw.el url-http.el - url-util.el url.el vc-dav.el +William M. Perry: wrote mailcap.el socks.el url-dav.el url-gw.el + url-http.el url-util.el url.el vc-dav.el and changed url-handlers.el url-file.el url-methods.el url-vars.el url-https.el aclocal.m4 mule-sysdp.el url-imap.el url-news.el url-nfs.el configure.in image.el mwheel.el url-about.el url-auth.el @@ -2709,6 +2773,8 @@ William Sommerfeld: wrote emacsclient.c emacsserver.c scribe.el server.el Wilson H. Tien: changed unexelf.c +Wilson Snyder: changed verilog-mode.el + Wim Nieuwenhuizen: changed TUTORIAL.nl Wlodzimierz Bzyl: wrote ogonek.el @@ -2735,9 +2801,9 @@ Xavier Maillard: changed gnus-faq.texi gnus-score.el spam.el Yagi Tatsuya: changed gnus-art.el gnus-start.el Yamamoto Mitsuharu: changed macterm.c macfns.c mac-win.el mac.c macterm.h - macmenu.c macgui.h image.c macselect.c keyboard.c xdisp.c makefile.MPW - config.h emacs.c INSTALL Makefile.in macos.texi darwin.h xfaces.c - dispnew.c alloc.c and 77 other files + macmenu.c macgui.h image.c macselect.c xdisp.c keyboard.c emacs.c + makefile.MPW config.h INSTALL Makefile.in macos.texi darwin.h + unexmacosx.c xfaces.c dispnew.c and 80 other files Yann Dirson: changed imenu.el @@ -2751,6 +2817,8 @@ Yoshiki Hayashi: changed texinfmt.el nnheader.el Yoshinori Koseki: changed fontset.el +Yuri Shtil: changed etags.c + Yutaka Niibe: changed indent.c xdisp.c configure.in Makefile.in dispnew.c sysdep.c config.in dired.el emacs.c fill.el fns.c gmalloc.c gnu-linux.h indent.h process.c simple.el term.c window.c diff --git a/CONTRIBUTE b/CONTRIBUTE index 0f7fe6855b5..23981eb2dbb 100644 --- a/CONTRIBUTE +++ b/CONTRIBUTE @@ -1,4 +1,4 @@ -Copyright (C) 2006, 2007 Free Software Foundation, Inc. +Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc. See end for license conditions. @@ -207,7 +207,7 @@ This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/COPYING b/COPYING index d511905c164..94a9ed024d3 100644 --- a/COPYING +++ b/COPYING @@ -1,285 +1,626 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. - Preamble + Preamble - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of this License. - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it @@ -287,15 +628,15 @@ free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least +state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) - This program is free software; you can redistribute it and/or modify + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or + the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -303,37 +644,31 @@ the "copyright" line and a pointer to where the full notice is found. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + You should have received a copy of the GNU General Public License + along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/ChangeLog b/ChangeLog index c53ed83f067..2881e87bfc8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,55 @@ +2008-03-26 Chong Yidong + + * Version 22.2 released. + +2008-02-25 Dan Nicolaescu + + * configure.in: Print an error for systems that we think are + obsolete and are proposed to be removed. + + * configure: Regenerate. + +2008-02-10 Matthew Luckie (tiny change) + + * configure.in (arm*-*-freebsd*): Added. + +2008-01-23 Dan Nicolaescu + + * configure.in (xtensa): Match more configurations. + + * configure: Regenerate. + +2008-01-21 Dan Nicolaescu + + * config.guess, config.sub: Updated from master source. + +2008-01-17 Glenn Morris + + * configure.in (HAVE_X86_64_LIB64_DIR): Also set on s390x systems. + +2007-11-28 Petr Salinger (tiny change) + + * configure.in: Add support for gnu-kfreebsd. + +2007-09-16 Peter O'Gorman (tiny change) + + * configure.in: Don't use -lpthread on HP-UX. + +2007-09-02 Jan Dj,Ad(Brv + + * configure.in: Require Gtk/Glib 2.6. + +2007-07-28 Eli Zaretskii + + * Makefile.in (install-arch-indep): Use "rm -f" for removing DOC, + to avoid an error message if there is no DOC there. + +2007-07-25 Glenn Morris + + * Relicense all FSF files to GPLv3 or later. + + * COPYING, info/COPYING: Switch to GPLv3. + 2007-06-02 Chong Yidong * Version 22.1 released. @@ -12,8 +64,7 @@ 2007-04-19 Glenn Morris - * configure.in: Signal error if Xaw libs are missing in a Lucid - build. + * configure.in: Signal error if Xaw libs are missing in a Lucid build. 2007-04-18 Glenn Morris @@ -886,7 +937,7 @@ 2003-04-28 Francesco Potort,Al(B - * configure.in: Undo last (RMS') change, as it is useless, per + * configure.in: Undo last (RMS') change, as it is useless, per Dave Love. 2003-04-08 Richard M. Stallman @@ -1057,7 +1108,7 @@ 2002-10-30 Dave Love - * configure.in: Require autoconf 2.53. Test for pty.h, + * configure.in: Require autoconf 2.53. Test for pty.h, sys/mman.h, sys/param.h, mremap, memmove. (AH_BOTTOM): Maybe include strings.h. Add local variables for mode. (AC_PROG_YACC): Delete. @@ -2847,7 +2898,7 @@ 1997-04-09 Marcus G. Daniels - * configure.in (doug_lea_malloc): First check for SYSTEM_MALLOC, + * configure.in (doug_lea_malloc): First check for SYSTEM_MALLOC, in case it is desirable to disable the GNU malloc features with glibc. 1997-04-08 Marcus G. Daniels @@ -6476,13 +6527,13 @@ ;; End: Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, - 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. + 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/INSTALL b/INSTALL index 80ee412543b..1ab1cc3da90 100644 --- a/INSTALL +++ b/INSTALL @@ -1,6 +1,6 @@ GNU Emacs Installation Guide Copyright (C) 1992, 1994, 1996, 1997, 2000, 2001, 2002, 2003, 2004, -2005, 2006, 2007 Free Software Foundation, Inc. +2005, 2006, 2007, 2008 Free Software Foundation, Inc. See the end of the file for license conditions. @@ -911,7 +911,7 @@ This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/Makefile.in b/Makefile.in index 91bf7e935fa..92070a4fac6 100644 --- a/Makefile.in +++ b/Makefile.in @@ -3,13 +3,14 @@ # DIST: that first. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -# 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +# 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# Free Software Foundation, Inc. # This file is part of GNU Emacs. # GNU Emacs is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) +# the Free Software Foundation; either version 3, or (at your option) # any later version. # GNU Emacs is distributed in the hope that it will be useful, @@ -478,7 +479,7 @@ install-arch-indep: mkdir info (cd ./etc; tar -chf - DOC*) \ |(cd $(DESTDIR)${docdir}; umask 022; tar -xvf - && cat > /dev/null) || exit 1; \ (cd $(DESTDIR)$(docdir); chown $${LOGNAME:-$$USERNAME} DOC*; chmod a+r DOC*; \ - if test "`echo DOC-*`" != "DOC-*"; then rm DOC; fi); \ + if test "`echo DOC-*`" != "DOC-*"; then rm -f DOC; fi); \ else true; fi -unset CDPATH; \ if [ -r ./lisp ] \ diff --git a/README b/README index 80cc1a50326..89921961c92 100644 --- a/README +++ b/README @@ -1,9 +1,9 @@ -Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. See the end of the file for license conditions. -This directory tree holds version 22.1 of GNU Emacs, the extensible, +This directory tree holds version 22.2 of GNU Emacs, the extensible, customizable, self-documenting real-time display editor. The file INSTALL in this directory says how to build and install GNU @@ -76,7 +76,7 @@ There are several subdirectories: `man' holds the source code for the Emacs Manual. If you modify the manual sources, you will need the `makeinfo' program to produce an updated manual. `makeinfo' is part of the GNU Texinfo - package; you need version 4.2 or later of Texinfo. + package; you need version 4.6 or later of Texinfo. `lispref' holds the source code for the Emacs Lisp reference manual. `lispintro' holds the source code for the Introduction to Programming in Emacs Lisp manual. @@ -98,7 +98,7 @@ This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/config.bat b/config.bat index 9e56b782256..10c224cb095 100644 --- a/config.bat +++ b/config.bat @@ -2,13 +2,13 @@ rem ---------------------------------------------------------------------- rem Configuration script for MSDOS rem Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003 -rem 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +rem 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. rem This file is part of GNU Emacs. rem GNU Emacs is free software; you can redistribute it and/or modify rem it under the terms of the GNU General Public License as published by -rem the Free Software Foundation; either version 2, or (at your option) +rem the Free Software Foundation; either version 3, or (at your option) rem any later version. rem GNU Emacs is distributed in the hope that it will be useful, diff --git a/config.guess b/config.guess index 1b63f307a6f..ca2a03ca4f1 100755 --- a/config.guess +++ b/config.guess @@ -1,10 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007 -# Free Software Foundation, Inc. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# Free Software Foundation, Inc. -timestamp='2007-02-26' +timestamp='2008-01-08' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -56,8 +56,8 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -330,7 +330,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; - i86pc:SunOS:5.*:*) + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) @@ -532,7 +532,7 @@ EOF echo rs6000-ibm-aix3.2 fi exit ;; - *:AIX:*:[45]) + *:AIX:*:[456]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 @@ -791,12 +791,18 @@ EOF i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; - x86:Interix*:[3456]*) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - EM64T:Interix*:[3456]* | authenticamd:Interix*:[3456]*) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; + *:Interix*:[3456]*) + case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T | authenticamd) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + IA64) + echo ia64-unknown-interix${UNAME_RELEASE} + exit ;; + esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; @@ -830,7 +836,14 @@ EOF echo ${UNAME_MACHINE}-pc-minix exit ;; arm*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + eval $set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo ${UNAME_MACHINE}-unknown-linux-gnu + else + echo ${UNAME_MACHINE}-unknown-linux-gnueabi + fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu @@ -951,8 +964,8 @@ EOF x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; - xtensa:Linux:*:*) - echo xtensa-unknown-linux-gnu + xtensa*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so diff --git a/config.sub b/config.sub index c8d69e9a05f..6759825a5b7 100755 --- a/config.sub +++ b/config.sub @@ -1,10 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007 -# Free Software Foundation, Inc. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# Free Software Foundation, Inc. -timestamp='2007-02-26' +timestamp='2008-01-16' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -72,8 +72,8 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -369,10 +369,14 @@ case $basic_machine in | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ - | xstormy16-* | xtensa-* \ + | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-*) ;; + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown + ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) @@ -443,6 +447,14 @@ case $basic_machine in basic_machine=ns32k-sequent os=-dynix ;; + blackfin) + basic_machine=bfin-unknown + os=-linux + ;; + blackfin-*) + basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; c90) basic_machine=c90-cray os=-unicos @@ -475,8 +487,8 @@ case $basic_machine in basic_machine=craynv-cray os=-unicosmp ;; - cr16c) - basic_machine=cr16c-unknown + cr16) + basic_machine=cr16-unknown os=-elf ;; crds | unos) @@ -668,6 +680,14 @@ case $basic_machine in basic_machine=m68k-isi os=-sysv ;; + m68knommu) + basic_machine=m68k-unknown + os=-linux + ;; + m68knommu-*) + basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; m88k-omron*) basic_machine=m88k-omron ;; @@ -683,6 +703,10 @@ case $basic_machine in basic_machine=i386-pc os=-mingw32 ;; + mingw32ce) + basic_machine=arm-unknown + os=-mingw32ce + ;; miniframe) basic_machine=m68000-convergent ;; @@ -809,6 +833,14 @@ case $basic_machine in basic_machine=i860-intel os=-osf ;; + parisc) + basic_machine=hppa-unknown + os=-linux + ;; + parisc-*) + basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; pbd) basic_machine=sparc-tti ;; @@ -1017,6 +1049,10 @@ case $basic_machine in basic_machine=tic6x-unknown os=-coff ;; + tile*) + basic_machine=tile-unknown + os=-linux-gnu + ;; tx39) basic_machine=mipstx39-unknown ;; diff --git a/configure b/configure index 1e0c418ed34..f5be5aab008 100755 --- a/configure +++ b/configure @@ -412,10 +412,10 @@ else fi test \$exitcode = 0") || { - echo Please tell bug-autoconf@gnu.org about your system, - echo including any error possibly output before this message. - echo This can help us improve future autoconf versions. - echo Configuration will now proceed without shell functions. + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message } @@ -2204,6 +2204,7 @@ case "${canonical}" in opsys=freebsd case "${canonical}" in alpha*-*-freebsd*) machine=alpha ;; + arm*-*-freebsd*) machine=arm ;; ia64-*-freebsd*) machine=ia64 ;; sparc64-*-freebsd*) machine=sparc ;; powerpc-*-freebsd*) machine=macppc ;; @@ -2212,6 +2213,19 @@ case "${canonical}" in esac ;; + ## FreeBSD kernel + glibc based userland + *-*-kfreebsd*gnu* ) + opsys=gnu-kfreebsd + case "${canonical}" in + alpha*-*-kfreebsd*) machine=alpha ;; + ia64-*-kfreebsd*) machine=ia64 ;; + sparc64-*-kfreebsd*) machine=sparc ;; + powerpc-*-kfreebsd*) machine=macppc ;; + i[3456]86-*-kfreebsd*) machine=intel386 ;; + amd64-*-kfreebsd*|x86_64-*-kfreebsd*) machine=amdx86-64 ;; + esac + ;; + ## NetBSD ports *-*-netbsd* ) opsys=netbsd @@ -3161,7 +3175,7 @@ _ACEOF ;; ## Tensilica Xtensa Linux-based GNU system - xtensa-*-linux-gnu* ) + xtensa*-*-linux-* ) machine=xtensa opsys=gnu-linux ;; @@ -3208,6 +3222,30 @@ if test x"${opsys}" = x; then esac fi +### Tests for sytems that we beleive are obsolete and should be desupported. + +case "${machine}" in + pmax | hp9000s300 | ibm370aix | ncr386 | ews4800 | mips-siemens | powerpcle | tandem-s2 ) + echo "The system that you are configuring on: ${canonical} is considered to be obsolete" + echo "and it is planned to be desupported in the next version of Emacs" + echo "Please email emacs-devel@gnu.org as soon as possible if this system is still in use." + echo "The code is still functional, but you need to edit the 'configure' script and remove the" + echo "exit 33 line. After that you can run configure again and 'complete' the build." + exit 33 + ;; +esac + +case "${opsys}" in + bsd386 | bsdos2-1 | bsdos2 | bsdos3 | bsdos4 | bsd4-1 | bsd4-2 | bsd4-3 | usg5-0 | usg5-2-2 | usg5-2 | usg5-3 | ultrix4-3 | 386bsd | hpux | hpux8 | hpux9 | hpux9shr | hpux10 | hpux10-20 | aix3-1 | aix3-2-5 | aix3-2 | aix4-1 | nextstep | ux4800 | uxpds | uxpv ) + echo "The system that you are configuring on: ${canonical} is considered to be obsolete" + echo "and it is planned to be desupported in the next version of Emacs" + echo "Please email emacs-devel@gnu.org as soon as possible if this system is still in use." + echo "The code is still functional, but you need to edit the 'configure' script and remove the" + echo "'exit 44' line. After that you can run 'configure' again and complete the build." + exit 44 + ;; +esac + if test $unported = yes; then @@ -5815,7 +5853,7 @@ fi ### The standard library on x86-64 GNU/Linux distributions can ### be located in either /usr/lib64 or /usr/lib. case "${canonical}" in - x86_64-*-linux-gnu* ) + x86_64-*-linux-gnu* | s390x-*-linux-gnu* ) if test -d /usr/lib64; then cat >>confdefs.h <<\_ACEOF @@ -10943,8 +10981,8 @@ if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "gtk"; then echo "$as_me: error: Conflicting options, --with-gtk is incompatible with --with-x-toolkit=${with_x_toolkit}" >&2;} { (exit 1); exit 1; }; }; fi - GLIB_REQUIRED=2.4 - GTK_REQUIRED=2.4 + GLIB_REQUIRED=2.6 + GTK_REQUIRED=2.6 GTK_MODULES="gtk+-2.0 >= $GTK_REQUIRED glib-2.0 >= $GLIB_REQUIRED" if test "X${with_pkg_config_prog}" != X; then @@ -11683,7 +11721,10 @@ fi fi if test "$HAVE_GTK_AND_PTHREAD" = yes; then - GTK_LIBS="$GTK_LIBS -lpthread" + case "${canonical}" in + *-hpux*) ;; + *) GTK_LIBS="$GTK_LIBS -lpthread" ;; + esac cat >>confdefs.h <<\_ACEOF #define HAVE_GTK_AND_PTHREAD 1 diff --git a/configure.in b/configure.in index a5033e96247..eb984a0f821 100644 --- a/configure.in +++ b/configure.in @@ -3,14 +3,14 @@ dnl To rebuild the `configure' script from this, execute the command dnl autoconf dnl in the directory containing this script. dnl -dnl Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 -dnl Free Software Foundation, Inc. +dnl Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2003, +dnl 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. dnl dnl This file is part of GNU Emacs. dnl dnl GNU Emacs is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by -dnl the Free Software Foundation; either version 2, or (at your option) +dnl the Free Software Foundation; either version 3, or (at your option) dnl any later version. dnl dnl GNU Emacs is distributed in the hope that it will be useful, @@ -241,6 +241,7 @@ case "${canonical}" in opsys=freebsd case "${canonical}" in alpha*-*-freebsd*) machine=alpha ;; + arm*-*-freebsd*) machine=arm ;; ia64-*-freebsd*) machine=ia64 ;; sparc64-*-freebsd*) machine=sparc ;; powerpc-*-freebsd*) machine=macppc ;; @@ -249,6 +250,19 @@ case "${canonical}" in esac ;; + ## FreeBSD kernel + glibc based userland + *-*-kfreebsd*gnu* ) + opsys=gnu-kfreebsd + case "${canonical}" in + alpha*-*-kfreebsd*) machine=alpha ;; + ia64-*-kfreebsd*) machine=ia64 ;; + sparc64-*-kfreebsd*) machine=sparc ;; + powerpc-*-kfreebsd*) machine=macppc ;; + i[3456]86-*-kfreebsd*) machine=intel386 ;; + amd64-*-kfreebsd*|x86_64-*-kfreebsd*) machine=amdx86-64 ;; + esac + ;; + ## NetBSD ports *-*-netbsd* ) opsys=netbsd @@ -1196,7 +1210,7 @@ dnl see the `changequote' comment above. ;; ## Tensilica Xtensa Linux-based GNU system - xtensa-*-linux-gnu* ) + xtensa*-*-linux-* ) machine=xtensa opsys=gnu-linux ;; @@ -1243,6 +1257,30 @@ if test x"${opsys}" = x; then esac fi +### Tests for sytems that we beleive are obsolete and should be desupported. + +case "${machine}" in + pmax | hp9000s300 | ibm370aix | ncr386 | ews4800 | mips-siemens | powerpcle | tandem-s2 ) + echo "The system that you are configuring on: ${canonical} is considered to be obsolete" + echo "and it is planned to be desupported in the next version of Emacs" + echo "Please email emacs-devel@gnu.org as soon as possible if this system is still in use." + echo "The code is still functional, but you need to edit the 'configure' script and remove the" + echo "exit 33 line. After that you can run configure again and 'complete' the build." + exit 33 + ;; +esac + +case "${opsys}" in + bsd386 | bsdos2-1 | bsdos2 | bsdos3 | bsdos4 | bsd4-1 | bsd4-2 | bsd4-3 | usg5-0 | usg5-2-2 | usg5-2 | usg5-3 | ultrix4-3 | 386bsd | hpux | hpux8 | hpux9 | hpux9shr | hpux10 | hpux10-20 | aix3-1 | aix3-2-5 | aix3-2 | aix4-1 | nextstep | ux4800 | uxpds | uxpv ) + echo "The system that you are configuring on: ${canonical} is considered to be obsolete" + echo "and it is planned to be desupported in the next version of Emacs" + echo "Please email emacs-devel@gnu.org as soon as possible if this system is still in use." + echo "The code is still functional, but you need to edit the 'configure' script and remove the" + echo "'exit 44' line. After that you can run 'configure' again and complete the build." + exit 44 + ;; +esac + ] dnl quotation ends @@ -1519,7 +1557,7 @@ AC_SYS_LARGEFILE ### The standard library on x86-64 GNU/Linux distributions can ### be located in either /usr/lib64 or /usr/lib. case "${canonical}" in - x86_64-*-linux-gnu* ) + x86_64-*-linux-gnu* | s390x-*-linux-gnu* ) if test -d /usr/lib64; then AC_DEFINE(HAVE_X86_64_LIB64_DIR, 1, [Define to 1 if the file /usr/lib64 exists.]) @@ -2100,8 +2138,8 @@ if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "gtk"; then if test "$USE_X_TOOLKIT" != "none" && test "$USE_X_TOOLKIT" != "maybe"; then AC_MSG_ERROR([Conflicting options, --with-gtk is incompatible with --with-x-toolkit=${with_x_toolkit}]); fi - GLIB_REQUIRED=2.4 - GTK_REQUIRED=2.4 + GLIB_REQUIRED=2.6 + GTK_REQUIRED=2.6 GTK_MODULES="gtk+-2.0 >= $GTK_REQUIRED glib-2.0 >= $GLIB_REQUIRED" dnl Check if --with-pkg-config-prog has been given. @@ -2165,7 +2203,10 @@ if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "gtk"; then AC_CHECK_LIB(pthread, pthread_self, HAVE_GTK_AND_PTHREAD=yes) fi if test "$HAVE_GTK_AND_PTHREAD" = yes; then - GTK_LIBS="$GTK_LIBS -lpthread" + case "${canonical}" in + *-hpux*) ;; + *) GTK_LIBS="$GTK_LIBS -lpthread" ;; + esac AC_DEFINE(HAVE_GTK_AND_PTHREAD, 1, [Define to 1 if you have GTK and pthread (-lpthread).]) fi @@ -2938,14 +2979,14 @@ if test "${REL_ALLOC}" = "yes" ; then fi AH_TOP([/* GNU Emacs site configuration template file. - Copyright (C) 1988, 1993, 1994, 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2007 - Free Software Foundation, Inc. + Copyright (C) 1988, 1993, 1994, 1999, 2000, 2001, 2002, 2004, 2005, + 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/COPYING b/etc/COPYING index d511905c164..94a9ed024d3 100644 --- a/etc/COPYING +++ b/etc/COPYING @@ -1,285 +1,626 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. - Preamble + Preamble - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of this License. - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it @@ -287,15 +628,15 @@ free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least +state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) - This program is free software; you can redistribute it and/or modify + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or + the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -303,37 +644,31 @@ the "copyright" line and a pointer to where the full notice is found. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + You should have received a copy of the GNU General Public License + along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/etc/ChangeLog b/etc/ChangeLog index 904b0f32f11..d385ce9973d 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog @@ -1,3 +1,137 @@ +2008-03-26 Chong Yidong + + * Version 22.2 released. + +2008-03-22 Reiner Steib + + * GNUS-NEWS (incoming mail files): Add version. + +2008-03-12 Reiner Steib + + * TUTORIAL.de: Remove even more discussion of flow control. Refer + to node name `Init Rebinding' instead of title. + +2008-03-12 Chong Yidong + + * TUTORIAL, TUTORIAL.fr, TUTORIAL.ro, TUTORIAL.bg, TUTORIAL.it: + * TUTORIAL.ru, TUTORIAL.cn, TUTORIAL.ja, TUTORIAL.sk: + * TUTORIAL.cs, TUTORIAL.ko, TUTORIAL.sl, TUTORIAL.de: + * TUTORIAL.nl, TUTORIAL.sv, TUTORIAL.eo, TUTORIAL.pl, TUTORIAL.th: + * TUTORIAL.es, TUTORIAL.pt_BR: Remove discussion of flow control. + +2008-02-25 Jan Dj,Ad(Brv + + * NEWS: Mention stock icons for Gtk+. + +2008-02-09 Eli Zaretskii + + * TUTORIAL.ru: Remove redundant empty lines, insert a magic line + instead. + +2008-02-02 Eli Zaretskii + + * TUTORIAL.ru: Restore copyright years. Update tutorial. Fix + wording. + +2008-01-31 Alex Ott + + * TUTORIAL.ru: Update tutorial. + +2008-01-08 Kevin Ryde + + * compilation.txt (perl): Add a "during global destruction" sample. + +2008-01-08 Glenn Morris + + * calccard.tex, cs-dired-ref.tex, cs-refcard.tex, cs-survival.tex: + * de-refcard.tex, dired-ref.tex, fr-drdref.tex, fr-refcard.tex: + * fr-survival.tex, gnus-refcard.tex, orgcard.tex, pl-refcard.tex: + * pt-br-refcard.tex, refcard.tex, ru-refcard.tex, sk-dired-ref.tex: + * sk-refcard.tex, sk-survival.tex, survival.tex, vipcard.tex: + * viperCard.tex: Update printed copyright year to 2008. + +2007-11-24 Glenn Morris + + * images/gnus/mail-send.xpm: Copy here from trunk. + +2007-11-22 Francesco Potort,Al(B + + * etags.1: Revert this change, not installed in Emacs 22: + "Now --members is the default for etags, not for ctags yet". + * etags.1: Note that you can use "-" for stdout with -o. + * NEWS: remove this entry for etags, because it was in fact not + installed in Emacs 22: "the --members option is now the default". + +2007-10-24 Juanma Barranquero + + * NEWS: Mention desktop locking. + +2007-09-28 Glenn Morris + + * PROBLEMS: Mention Tex superscript font issue. + +2007-09-12 Stefan Monnier + + * emacs.py (complete.class_members): Make sure we return the _emacs_out + message even in the face of exceptions. + +2007-09-05 Jason Rumney + + * NEWS: Mention focus-follows-mouse change. + +2007-08-27 YAMAMOTO Mitsuharu + + * PROBLEMS (Mac OS X): Add alternative workaround for QuickTime + updater breakage. + +2007-08-22 Karl Berry + + * refcard.tex: Updates for printing. + (\versionyear): Update to 2007. + (\copyrightnotice): Modified or unmodified ok. + (Simple Customization): Don't use goto-line, since now it's bound. + Also, use now-preferred (kbd ...) syntax. + +2007-08-14 Glenn Morris + + * NEWS: Mention `bad-packages-alist'. + +2007-08-08 Glenn Morris + + * TODO: `iff' item is dealt with. + * GNUS-NEWS, NEWS, NEWS.1-17, NEWS.19, NEWS.21: Replace `iff'. + +2007-07-25 Glenn Morris + + * Relicense all FSF files to GPLv3 or later. + + * COPYING: Switch to GPLv3. + +2007-07-15 Werner Lemberg + + * emacs.1: Completely revised. + Fix many typographical glitches. + Updated to handle current state of options and resources. + +2007-07-14 Jan Dj,Ad(Brv + + * PROBLEMS: Mention gtk-engines-qt problem. + +2007-06-07 Glenn Morris + + * images/cancel.pbm: Convert from PGM to PBM. + + * images/copy.pbm, images/next-node.pbm, images/prev-node.pbm: + * images/save.pbm, images/up-node.pbm: Convert from PPM to PBM. + +2007-06-07 Mark H. Weaver (tiny change) + + * NEWS (set-mark-command-repeat-pop): Fix duplicate entry. + +2007-06-07 Michael Olson + + * MORE.STUFF: Update eshell URL. + 2007-06-02 Chong Yidong * Version 22.1 released. @@ -3589,13 +3723,14 @@ ;; End: Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001 - 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. + 2002, 2003, 2004, 2005, 2006, 2007, 2008 + Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/DEBUG b/etc/DEBUG index ea4e14866ca..89f251d2135 100644 --- a/etc/DEBUG +++ b/etc/DEBUG @@ -1,11 +1,11 @@ Debugging GNU Emacs Copyright (C) 1985, 2000, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. See the end of the file for license conditions. -[People who debug Emacs on Windows using native Windows debuggers +[People who debug Emacs on Windows using Microsoft debuggers should read the Windows-specific section near the end of this document.] @@ -748,7 +748,7 @@ This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/DISTRIB b/etc/DISTRIB index 33bc767df79..0e1c91f0383 100644 --- a/etc/DISTRIB +++ b/etc/DISTRIB @@ -5,7 +5,7 @@ the USA, see http://www.gnu.org/order/order.html. GNU Emacs availability information, October 2000 Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1995, - 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 + 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. See the end of the file for license conditions. @@ -101,7 +101,7 @@ This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/ERC-NEWS b/etc/ERC-NEWS index e7b0dcb81bf..516c9605e09 100644 --- a/etc/ERC-NEWS +++ b/etc/ERC-NEWS @@ -1,6 +1,6 @@ ERC NEWS -*- outline -*- -Copyright (C) 2006, 2007 Free Software Foundation, Inc. +Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc. See the end of the file for license conditions. * Changes in ERC 5.2 @@ -1089,7 +1089,7 @@ This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/ETAGS.EBNF b/etc/ETAGS.EBNF index 1ac66899236..9f69a7492bc 100644 --- a/etc/ETAGS.EBNF +++ b/etc/ETAGS.EBNF @@ -94,15 +94,15 @@ those. ===================== end of discussion of tag names ===================== -Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 +Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. COPYING PERMISSIONS: This document is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. + the Free Software Foundation; either version 3, or (at your option) + any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -110,5 +110,6 @@ COPYING PERMISSIONS: GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + along with this program; see the file COPYING. If not, write to + the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + Boston, MA 02110-1301 USA. diff --git a/etc/ETAGS.README b/etc/ETAGS.README index aef3aa67f51..ed3aa2fe16a 100644 --- a/etc/ETAGS.README +++ b/etc/ETAGS.README @@ -29,15 +29,15 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Copyright (C) 1984, 1987, 1988, 1989, 1993, 1994, 1995, 1998, 1999, - 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 + 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is not considered part of GNU Emacs. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. +the Free Software Foundation; either version 3, or (at your option) +any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -45,5 +45,6 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software Foundation, -Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +along with this program; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +Boston, MA 02110-1301, USA. diff --git a/etc/GNUS-NEWS b/etc/GNUS-NEWS index d5727174856..89df6ab2df8 100644 --- a/etc/GNUS-NEWS +++ b/etc/GNUS-NEWS @@ -1,7 +1,7 @@ GNUS NEWS -- history of user-visible changes. Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. + 2006, 2007, 2008 Free Software Foundation, Inc. See the end of the file for license conditions. Please send Gnus bug reports to bugs@gnus.org. @@ -30,7 +30,7 @@ or remove them using `make remove-installed-shadows'. Use `make.bat' if you want to install Gnus under MS Windows, the first argument to the batch-program should be the directory where `xemacs.exe' -respectively `emacs.exe' is located, iff you want to install Gnus after +respectively `emacs.exe' is located, if you want to install Gnus after compiling it, give `make.bat' `/copy' as the second parameter. `make.bat' has been rewritten from scratch, it now features automatic @@ -139,6 +139,9 @@ instead of real group names in 5.8. Users who customize these variables should change those regexps accordingly. For example: ("^han\\>" euc-kr) -> ("\\(^\\|:\\)han\\>" euc-kr) +** Old intermediate incoming mail files (`Incoming*') are deleted after a +couple of days, not immediately. *Note Mail Source Customization::. +(New in Gnus 5.10.10 / Emacs 22.2) * Changes in summary and article mode @@ -308,7 +311,7 @@ as external parts. ** Gnus no longer generate the Sender: header automatically. -Earlier it was generated iff the user configurable email address was +Earlier it was generated when the user configurable email address was different from the Gnus guessed default user address. As the guessing algorithm is rarely correct these days, and (more controversially) the only use of the Sender: header was to check if you are entitled to @@ -524,7 +527,7 @@ This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/HELLO b/etc/HELLO index 8e7b5496c63..16ffebd230e 100644 --- a/etc/HELLO +++ b/etc/HELLO @@ -63,14 +63,14 @@ Korean ($(CGQ1[(B) $(C>H3gGO<H3gGO=J4O1n(B -Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/MACHINES b/etc/MACHINES index 83723fccbbc..b04c0cbb488 100644 --- a/etc/MACHINES +++ b/etc/MACHINES @@ -1,7 +1,7 @@ Emacs machines list Copyright (C) 1989, 1990, 1992, 1993, 1998, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. See the end of the file for license conditions. This is a list of the status of GNU Emacs on various machines and systems. @@ -1506,7 +1506,7 @@ This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/MAILINGLISTS b/etc/MAILINGLISTS index b0b6208239c..f0642553d98 100644 --- a/etc/MAILINGLISTS +++ b/etc/MAILINGLISTS @@ -318,7 +318,7 @@ mode: outline fill-column: 72 End: -Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Permission is hereby granted, free of charge, to any person obtaining diff --git a/etc/MH-E-NEWS b/etc/MH-E-NEWS index 496f5813b93..a5a400427ee 100644 --- a/etc/MH-E-NEWS +++ b/etc/MH-E-NEWS @@ -1,6 +1,6 @@ * COPYRIGHT -Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. See the end of the file for license conditions. @@ -3122,7 +3122,7 @@ This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/MORE.STUFF b/etc/MORE.STUFF index 8582cbc0a1c..d3a41c6eb33 100644 --- a/etc/MORE.STUFF +++ b/etc/MORE.STUFF @@ -1,6 +1,6 @@ More Neat Stuff for your Emacs -Copyright (C) 1993, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +Copyright (C) 1993, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. See the end of the file for license conditions. @@ -63,7 +63,7 @@ You might find bug-fixes or enhancements in these places. * ERC: IRC client: - * EShell: + * EShell: * Etags: @@ -284,7 +284,7 @@ This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/Makefile b/etc/Makefile index 1947147dad7..1362fd47f5f 100644 --- a/etc/Makefile +++ b/etc/Makefile @@ -1,13 +1,13 @@ ### Makefile for Emacs etc/ directory ## Copyright (C) 1993, 1994, 2001, 2002, 2003, 2004, 2005, 2006, -## 2007 Free Software Foundation, Inc. +## 2007, 2008 Free Software Foundation, Inc. ## This file is part of GNU Emacs. ## GNU Emacs is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by -## the Free Software Foundation; either version 2, or (at your option) +## the Free Software Foundation; either version 3, or (at your option) ## any later version. ## GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/NEWS b/etc/NEWS index 230191a0b07..335862052c7 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1,6 +1,6 @@ GNU Emacs NEWS -- history of user-visible changes. -Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. See the end of the file for license conditions. @@ -28,12 +28,180 @@ any older versions of these packages to ensure that the Emacs 22 version is used. You can use M-x list-load-path-shadows to find such older packages. -Some specific packages that are known to cause problems are: +Some specific packages that are known to cause problems are given +below. Emacs tries to warn you about these through `bad-packages-alist'. ** Semantic (used by CEDET, ECB, JDEE): upgrade to latest version. ** cua.el, cua-mode.el: remove old versions. + +* Installation Changes in Emacs 22.2 + +** Emacs is now licensed under the GNU GPL version 3 (or later). + +** Support for GNU/kFreeBSD (GNU userland and FreeBSD kernel) was added. + +** Deprecated machine types and operating systems + +Certain machine types and operating systems have been deprecated. On +these systems, configure will print a warning and exit, and you must +edit the configure script for compilation to proceed. The deprecated +systems will not be supported at all in Emacs 23. We are not aware of +anyone running Emacs on these systems; if you are, please email +emacs-devel@gnu.org to take it off the list of deprecated systems. + +*** Deprecated machine types +pmax, hp9000s300, ibm370aix, ncr386, ews4800, mips-siemens, powerpcle, +and tandem-s2 + +*** Deprecated operating systems +bsd386, bsdos2-1, bsdos2, bsdos3, bsdos4, bsd4-1, bsd4-2, bsd4-3, +usg5-0, usg5-2-2, usg5-2, usg5-3, ultrix4-3, 386bsd, hpux, hpux8, +hpux9, hpux9shr, hpux10, hpux10-20, aix3-1, aix3-2-5, aix3-2, aix4-1, +nextstep, ux4800, uxpds, and uxpv + +* Changes in Emacs 22.2 + +** `describe-project' is renamed to `describe-gnu-project'. + +** `view-todo' is renamed to `view-emacs-todo'. + +** `find-name-dired' now uses -iname rather than -name +for case-insensitive filesystems. The default behavior is determined +by the value of `read-file-name-completion-ignore-case'; if you don't +like that, customize the value of the new option `find-name-arg'. + +** In Image mode, whenever the displayed image is wider and/or higher +than the window, the usual keys for moving the cursor cause the image +to be scrolled horizontally or vertically instead. + +** Emacs can use stock icons in the tool bar when compiled with Gtk+. +However, this feature is disabled by default. To enable it, put + + (setq icon-map-list '(x-gtk-stock-map)) + +in your .emacs or some other startup file. For more information, see +the documentation for the two variables icon-map-list and x-gtk-stock-map. + +** Scrollbars follow the system theme on Windows XP and later. +Windows XP introduced themed scrollbars, but applications have to take +special steps to use them. Emacs now has the appropriate resources linked +in to make it use the scrollbars from the system theme. + +** focus-follows-mouse defaults to nil on MS Windows. +Previously this variable was incorrectly documented as having no effect +on MS Windows, and the default was inappropriate for the majority of +Windows installations. Users of software which modifies the behaviour of +Windows to cause focus to follow the mouse will now need to explicitly set +this variable. + +** `bad-packages-alist' will warn about external packages that are known +to cause problems in this version of Emacs. + +** The values of `dired-recursive-deletes' and `dired-recursive-copies' +have been changed to `top'. This means that the user is asked once, +before deleting/copying the indicated directory recursively. + +** `browse-url-emacs' loads a URL into an Emacs buffer. Handy for *.el URLs. + +** The command gdba has been removed as gdb works now for those cases where it +was needed. In text command mode, if you have problems before execution has +started, use M-x gud-gdb. + +** desktop.el now detects conflicting uses of the desktop file. +When loading the desktop, desktop.el can now detect that the file is already +in use. The default behavior is to ask the user what to do, but you can +customize it with the new option `desktop-load-locked-desktop'. When saving, +desktop.el warns about attempts to overwrite a desktop file if it determines +that the desktop being saved is not an update of the one on disk. + +** Compilation mode now correctly respects the value of +`compilation-scroll-output' between invocations. Previously, output +was mistakenly scrolled on compiles after the first. Customize +`compilation-scroll-output' if you want to retain the scrolling. + +** `font-lock-comment-face' no longer differs from the default on +displays with fewer than 16 colors and dark background (e.g. older +xterms and the Linux console). On such displays, only the comment +delimiters will appear to be fontified (in the new face +`font-lock-comment-delimiter-face'). To restore the old appearance, +customize `font-lock-comment-face'. Another alternative is to use a +newer terminal emulator that supports more colors (256 is now common). +For example, for xterm compatible emulators that support 256 colors, +you can run emacs like this: +env TERM=xterm-256color emacs -nw +(This was new in Emacs 22.1, but was not described. In Emacs 22.1 +this also happened for terminals with a light background, that is not +the case anymore). + +* New Modes and Packages in Emacs 22.2 + +** bibtex-style-mode helps you write BibTeX's *.bst files. + +** The new package css-mode.el provides a major mode for editing CSS files. + +** The new package vera-mode.el provides a major mode for editing Vera files. + +** The new package verilog-mode.el provides a major mode for editing Verilog files. + +** The new package socks.el implements the SOCKS v5 protocol. + +** VC + +*** VC backends can provide completion of revision names. + +*** VC backends can provide extra menu entries to the "Version Control" menu. +This can be used to add menu entries for backend specific functions. + +*** VC has some support for Mercurial (Hg). + +*** VC has some support for Monotone (Mtn). + +*** VC has some support for Bazaar (Bzr). + +*** VC has some support for Git. + +* Incompatible Lisp Changes in Emacs 22.2 + +** shell.el no longer defines the aliases `dirtrack-toggle' and +`dirtrack-mode' for `shell-dirtrack-mode'. These names were removed +because they clash with commands provided by dirtrack.el. Use +`shell-dirtrack-mode' instead. + +* Lisp Changes in Emacs 22.2. + +** Frame-local variables are deprecated and are slated for removal. +They can easily be emulated. Rather than calling `make-variable-frame-local' +and accessing the variable value directly, explicitly check for a +frame-parameter, and if there is one, use its value in preference to +that of the variable. Note that buffer-local values should take +precedence over frame-local ones, so you may wish to check `local-variable-p' +first. + +** The function invisible-p returns non-nil if the character +after a specified position is invisible. + +** inhibit-modification-hooks is bound to t while running modification hooks. +As a happy consequence, after-change-functions and before-change-functions +are not bound to nil any more while running an (after|before)-change-function. + +** New function `window-full-width-p' returns t if a window is as wide +as its frame. + +** The new function `image-refresh' refreshes all images associated +with a given image specification. + +** The new function `combine-and-quote-strings' concatenates a list of strings +using a specified separator. If a string contains double quotes, they +are escaped in the output. + +** The new function `split-string-and-unquote' performs the inverse operation to +`combine-and-quote-strings', i.e. splits a single string into a list +of strings, undoing any quoting added by `combine-and-quote-strings'. +(For some separator/string combinations, the original strings cannot +be recovered.) + * Installation Changes in Emacs 22.1 @@ -241,6 +409,14 @@ need to quote the space with a C-q. The underlying changes in the keymaps that are active in the minibuffer are described below under "New keymaps for typing file names". +If you want the old behavior back, add these two key bindings to your +~/.emacs init file: + + (define-key minibuffer-local-filename-completion-map + " " 'minibuffer-complete-word) + (define-key minibuffer-local-must-match-filename-map + " " 'minibuffer-complete-word) + ** The completion commands TAB, SPC and ? in the minibuffer apply only to the text before point. If there is text in the buffer after point, it remains unchanged. @@ -280,11 +456,6 @@ too. If you want to use just plain `*' as a wildcard, type `*""'; the doublequotes make no difference in the shell, but they prevent special treatment in `dired-do-shell-command'. -** A prefix argument is no longer required to repeat a jump to a -previous mark if you set `set-mark-command-repeat-pop' to t. I.e. C-u -C-SPC C-SPC C-SPC ... cycles through the mark ring. Use C-u C-u C-SPC -to set the mark immediately after a jump. - ** The info-search bindings on C-h C-f, C-h C-k and C-h C-i have been moved to C-h F, C-h K and C-h S. @@ -451,8 +622,9 @@ to one second. This feature is turned off by default. ** Mark command changes: *** A prefix argument is no longer required to repeat a jump to a -previous mark, i.e. C-u C-SPC C-SPC C-SPC ... cycles through the -mark ring. Use C-u C-u C-SPC to set the mark immediately after a jump. +previous mark if you set `set-mark-command-repeat-pop' to t. I.e. C-u +C-SPC C-SPC C-SPC ... cycles through the mark ring. Use C-u C-u C-SPC +to set the mark immediately after a jump. *** Marking commands extend the region when invoked multiple times. @@ -838,6 +1010,8 @@ fontification in Info, remove `turn-on-font-lock' from `Info-mode-hook'. *** New standard font-lock face `font-lock-comment-delimiter-face'. +This is used for the characters that indicate the start of a comment, +e.g. `;' in Lisp mode. *** New standard font-lock face `font-lock-preprocessor-face'. @@ -1581,7 +1755,7 @@ It also contains a plain-text table editor with spreadsheet-like capabilities. The Org mode table editor can be integrated into any major mode by -activating the minor Orgtbl-mode. +activating the minor mode, Orgtbl mode. The documentation for org-mode is in a separate manual; within Emacs, type "C-h i m org RET" to read that manual. A reference card is @@ -3034,11 +3208,6 @@ be used (only once) in place of a file name on the command line. Etags reads from standard input and marks the produced tags as belonging to the file FILE. -*** The --members option is now the default. - -Use --no-members if you want the old default behaviour of not tagging -struct members in C, members variables in C++ and variables in PHP. - ** Ctags changes. *** Ctags now allows duplicate tags @@ -3511,8 +3680,8 @@ that is, floats are compared by value and other elements with `eq'. *** New functions `string-or-null-p' and `booleanp'. -`string-or-null-p' returns non-nil iff OBJECT is a string or nil. -`booleanp' returns non-nil iff OBJECT is t or nil. +`string-or-null-p' returns non-nil if OBJECT is a string or nil. +`booleanp' returns non-nil if OBJECT is t or nil. *** `makehash' is now obsolete. Use `make-hash-table' instead. @@ -5386,7 +5555,7 @@ This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/NEWS.1-17 b/etc/NEWS.1-17 index a69ac834730..21f4c340809 100644 --- a/etc/NEWS.1-17 +++ b/etc/NEWS.1-17 @@ -1,6 +1,6 @@ GNU Emacs NEWS -- history of user-visible changes. 26-Mar-1986 -Copyright (C) 1985, 1986, 2006, 2007 Free Software Foundation, Inc. +Copyright (C) 1985, 1986, 2006, 2007, 2008 Free Software Foundation, Inc. See the end of the file for license conditions. @@ -1208,7 +1208,7 @@ whether and where a line has a comment. * New function `auto-save-file-name-p' -Should return non-`nil' iff given a string which is the name of an +Should return non-`nil' if given a string which is the name of an auto-save file (sans directory name). If you redefine `make-auto-save-file-name', you should redefine this accordingly. By default, this function returns `t' for filenames beginning with @@ -2515,7 +2515,7 @@ This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/NEWS.18 b/etc/NEWS.18 index d7722f98d0d..d0c67c5ec51 100644 --- a/etc/NEWS.18 +++ b/etc/NEWS.18 @@ -1,6 +1,6 @@ GNU Emacs NEWS -- history of user-visible changes. 17-Aug-1988 -Copyright (C) 1988, 2006, 2007 Free Software Foundation, Inc. +Copyright (C) 1988, 2006, 2007, 2008 Free Software Foundation, Inc. See the end of the file for license conditions. @@ -1605,7 +1605,7 @@ This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/NEWS.19 b/etc/NEWS.19 index 85414f6f075..2284e8e6a32 100644 --- a/etc/NEWS.19 +++ b/etc/NEWS.19 @@ -1,6 +1,7 @@ GNU Emacs NEWS -- history of user-visible changes. 1992. -Copyright (C) 1993, 1994, 1995, 2001, 2006, 2007 Free Software Foundation, Inc. +Copyright (C) 1993, 1994, 1995, 2001, 2006, 2007, 2008 + Free Software Foundation, Inc. See the end of the file for license conditions. @@ -5133,8 +5134,8 @@ using X). ** It is now simpler to tell Emacs to display accented characters under X windows. M-x standard-display-european toggles the display of buffer text according to the ISO Latin-1 standard. With a prefix -argument, this command enables European character display iff the -argument is positive. +argument, this command enables European character display if and only +if the argument is positive. ** The `-i' command-line argument tells Emacs to use a picture of the GNU gnu as its icon, instead of letting the window manager choose an @@ -6524,7 +6525,7 @@ This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/NEWS.20 b/etc/NEWS.20 index ad101000f16..86ce7d97004 100644 --- a/etc/NEWS.20 +++ b/etc/NEWS.20 @@ -1,6 +1,6 @@ GNU Emacs NEWS -- history of user-visible changes. 2006-05-31 -Copyright (C) 1999, 2000, 2001, 2006, 2007 +Copyright (C) 1999, 2000, 2001, 2006, 2007, 2008 Free Software Foundation, Inc. See the end of the file for license conditions. @@ -4498,7 +4498,7 @@ This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/NEWS.21 b/etc/NEWS.21 index 476853746f5..e9b2b96c313 100644 --- a/etc/NEWS.21 +++ b/etc/NEWS.21 @@ -1,6 +1,6 @@ GNU Emacs NEWS -- history of user-visible changes. 2006-05-31 -Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. See the end of the file for license conditions. @@ -2502,7 +2502,7 @@ value is returned. If no window satisfies PREDICATE, DEFAULT is returned. Optional second arg MINIBUF t means count the minibuffer window even -if not active. MINIBUF nil or omitted means count the minibuffer iff +if not active. MINIBUF nil or omitted means count the minibuffer if it is active. MINIBUF neither t nor nil means not to count the minibuffer even if it is active. @@ -4885,7 +4885,7 @@ This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/PROBLEMS b/etc/PROBLEMS index 00dedc0c363..6751546808e 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS @@ -1,5 +1,5 @@ Copyright (C) 1987, 1988, 1989, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2001, 2002, 2003, 2004, 2005, 2006, 2007 + 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. See the end of the file for license conditions. @@ -536,6 +536,12 @@ This can happen with CVS versions 1.12.8 and 1.12.9. Upgrade to CVS ** Miscellaneous problems +*** Emacs uses 100% of CPU time + +This is a known problem with some versions of the Semantic package. +The solution is to upgrade Semantic to version 2.0pre4 (distributed +with CEDET 1.0pre4) or later. + *** Self-documentation messages are garbled. This means that the file `etc/DOC-...' doesn't properly correspond @@ -858,6 +864,16 @@ gives the appearance of "double spacing". To prevent this, turn off the Exceed's "automatic font substitution" feature (in the font part of the configuration window). +** Subscript/superscript text in TeX is hard to read. + +tex-mode displays subscript/superscript text in the faces +subscript/superscript, which are smaller than the normal font and +lowered/raised. With some fonts, nested superscripts (say) can be +hard to read. Switching to a different font, or changing your +antialiasing setting (on an LCD screen), can both make the problem +disappear. Alternatively, customize the subscript and superscript +faces to increase their height. + * Internationalization problems ** M-{ does not work on a Spanish PC keyboard. @@ -1160,6 +1176,10 @@ present or commented out: Emacs*Foreground Emacs*Background +It is also reported that a bug in the gtk-engines-qt engine can cause this if +Emacs is compiled with Gtk+. +The bug is fixed in version 0.7 or newer of gtk-engines-qt. + *** KDE: Emacs hangs on KDE when a large portion of text is killed. This is caused by a bug in the KDE applet `klipper' which periodically @@ -1853,12 +1873,15 @@ There appears to be a problem with the implementation of pty's on the Mac OS X that causes process output to be truncated. To avoid this, leave process-connection-type set to its default value of nil. -*** Mac OS X 10.3.9 (Carbon): QuickTime 7.0.4 updater breaks build. +*** Mac OS X 10.3.9 (Carbon): QuickTime updater breaks build. -On the above environment, build fails at the link stage with the -message like "Undefined symbols: _HICopyAccessibilityActionDescription -referenced from QuickTime expected to be defined in Carbon". A -workaround is to use QuickTime 7.0.1 reinstaller. +Some QuickTime updaters such as 7.0.4 and 7.2.0 are known to break +build at the link stage with the message like "Undefined symbols: +_HICopyAccessibilityActionDescription referenced from QuickTime +expected to be defined in Carbon". A workaround is to use a QuickTime +reinstaller. Alternatively, you can link with the frameworks in the +corresponding SDK by specifying LDFLAGS as +"-Wl,-F/Developer/SDKs/MacOSX10.3.0.sdk/System/Library/Frameworks". ** FreeBSD @@ -2073,6 +2096,12 @@ that should read: Note the lower case . Changing this line should make C-t work. +*** On Solaris, Emacs fails to set menu-bar-update-hook on startup, with error +"Error in menu-bar-update-hook: (error Point before start of properties)". +This seems to be a GCC optimization bug that occurs for GCC 4.1.2 (-g +and -g -O2) and GCC 4.2.3 (-g -O and -g -O2). You can fix this by +compiling with GCC 4.2.3 or CC 5.7, with no optimizations. + ** Irix *** Irix 6.5: Emacs crashes on the SGI R10K, when compiled with GCC. @@ -2104,6 +2133,10 @@ problem. ** Known problems with the MS-Windows port of Emacs 22.1 +M-x term does not work on MS-Windows. TTY emulation on Windows is +undocumented, and programs such as stty which are used on posix platforms +to control tty emulation do not exist for native windows terminals. + Using create-fontset-from-ascii-font or the --font startup parameter with a Chinese, Japanese or Korean font leads to display problems. Use a Latin-only font as your default font. If you want control over @@ -2123,14 +2156,13 @@ for menus. Help text is only available in later versions of Windows. When "ClearType" method is selected as the "method to smooth edges of screen fonts" (in Display Properties, Appearance tab, under "Effects"), there are various problems related to display of -characters: 2-pixel trace is left behind when moving overlays, bold -fonts can be hard to read, small portions of some characters could -appear chopped, etc. This happens because, under ClearType, -characters are drawn outside their advertised bounding box. Emacs 21 -disabled the use of ClearType, whereas Emacs 22 allows it and has some -code to enlarge the width of the bounding box. Apparently, this -display feature needs more changes to get it 100% right. A workaround -is to disable ClearType. +characters: Bold fonts can be hard to read, small portions of some +characters could appear chopped, etc. This happens because, under +ClearType, characters are drawn outside their advertised bounding box. +Emacs 21 disabled the use of ClearType, whereas Emacs 22 allows it and +has some code to enlarge the width of the bounding box. Apparently, +this display feature needs more changes to get it 100% right. A +workaround is to disable ClearType. There are problems with display if mouse-tracking is enabled and the mouse is moved off a frame, over another frame then back over the first @@ -2175,18 +2207,29 @@ month names with consistent widths for some locales on some versions of Windows. This is caused by a deficiency in the underlying system library function. +The function set-time-zone-rule gives incorrect results for many +non-US timezones. This is due to over-simplistic handling of +daylight savings switchovers by the Windows libraries. + Files larger than 4GB cause overflow in the size (represented as a 32-bit integer) reported by `file-attributes'. This affects Dired as well, since the Windows port uses a Lisp emulation of `ls' that relies on `file-attributes'. +Sound playing is not supported with the `:data DATA' key-value pair. +You _must_ use the `:file FILE' method. + ** Typing Alt-Shift has strange effects on MS-Windows. This combination of keys is a command to change keyboard layout. If you proceed to type another non-modifier key before you let go of Alt and Shift, the Alt and Shift act as modifiers in the usual way. A more permanent work around is to change it to another key combination, -or disable it in the keyboard control panel. +or disable it in the "Regional and Language Options" applet of the +Control Panel. (The exact sequence of mouse clicks in the "Regional +and Language Options" applet needed to find the key combination that +changes the keyboard layout depends on your Windows version; for XP, +in the Languages tab, click "Details" and then "Key Settings".) ** Cygwin build of Emacs hangs after rebasing Cygwin DLLs @@ -2476,7 +2519,7 @@ in building Emacs (as of v22.1). *** Building the native MS-Windows port with Cygwin GCC can fail. -Emacs may not build using recent Cygwin builds of GCC, such as Cygwin +Emacs may not build using some Cygwin builds of GCC, such as Cygwin version 1.1.8, using the default configure settings. It appears to be necessary to specify the -mwin32 flag when compiling, and define __MSVCRT__, like so: @@ -2489,28 +2532,6 @@ Some versions of mingw32 make on some versions of Windows do not seem to detect the shell correctly. Try "make SHELL=cmd.exe", or if that fails, try running make from Cygwin bash instead. -*** Building the MS-Windows port with Leim fails in the `leim' directory. - -The error message might be something like this: - - Converting d:/emacs-21.3/leim/CXTERM-DIC/4Corner.tit to quail-package... - Invalid ENCODE: value in TIT dictionary - NMAKE : fatal error U1077: '"../src/obj-spd/i386/emacs.exe"' : return code - '0xffffffff' - Stop. - -This can happen if the Leim distribution is unpacked with a program -which converts the `*.tit' files to DOS-style CR-LF text format. The -`*.tit' files in the leim/CXTERM-DIC directory require Unix-style line -endings to compile properly, because Emacs reads them without any code -or EOL conversions. - -The solution is to make sure the program used to unpack Leim does not -change the files' line endings behind your back. The GNU FTP site has -in the `/gnu/emacs/windows' directory a program called `djtarnt.exe' -which can be used to unpack `.tar.gz' and `.zip' archives without -mangling them. - *** Building `ctags' for MS-Windows with the MinGW port of GCC fails. This might happen due to a bug in the MinGW header assert.h, which @@ -2795,6 +2816,11 @@ build (from -O2 to -O1). It is possible this is an OpenBSD GCC problem specific to the macppc architecture, possibly only occurring with older versions of GCC (e.g. 3.3.5). +*** openSUSE 10.3: Segfault in bcopy during dumping. + +This is due to a bug in the bcopy implementation in openSUSE 10.3. +It is/will be fixed in an openSUSE update. + ** Installation *** Installing Emacs gets an error running `install-info'. @@ -3856,7 +3882,7 @@ This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/README b/etc/README index d8ca8a7b947..f6337d7d33b 100644 --- a/etc/README +++ b/etc/README @@ -1,4 +1,4 @@ -Copyright (C) 1992, 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +Copyright (C) 1992, 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. See the end of the file for license conditions. @@ -25,22 +25,22 @@ information, but it is reproduced here for convenience. Files: splash.pbm, splash.xpm, splash8.xpm, gnus.pbm, gnus-logo.eps Author: Luis Fernandes - Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 + Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. - License: GNU General Public License version 2 or later (see COPYING) + License: GNU General Public License version 3 or later (see COPYING) File: emacs.icon Author: Sun Microsystems, Inc - Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007 + Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. - License: GNU General Public License version 2 or later (see COPYING) + License: GNU General Public License version 3 or later (see COPYING) This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/TERMS b/etc/TERMS index 926d6130aae..5a06a826d19 100644 --- a/etc/TERMS +++ b/etc/TERMS @@ -1,4 +1,4 @@ -Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. See the end of the file for copying permissions. @@ -237,8 +237,8 @@ COPYING PERMISSIONS: This document is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. + the Free Software Foundation; either version 3, or (at your option) + any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -246,5 +246,6 @@ COPYING PERMISSIONS: GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + along with this program; see the file COPYING. If not, write to + the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + Boston, MA 02110-1301 USA. diff --git a/etc/TODO b/etc/TODO index 50fb4a19484..8698e5c8001 100644 --- a/etc/TODO +++ b/etc/TODO @@ -1,6 +1,6 @@ Emacs TODO List -*-outline-*- -Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. See the end of the file for license conditions. @@ -22,8 +22,6 @@ using Xaw3d. ** Compute the list of active keymaps *after* reading the first event. -** Avoid using "iff" in doc strings. - ** mouse-autoselect-window should wait to select the window until the mouse is put to rest or after a delay or both, so that moving over a window doesn't select it. @@ -177,6 +175,10 @@ specified filters, specified timers, and specified hooks. * Other features we would like: +** Make longlines-mode wrap lines based on screen position instead + of character position, so that variable-width fonts can be handled + properly. + ** Remove the default toggling behavior of minor modes when called from elisp rather than interactively. This a trivial one-liner in easy-mode.el. ** Create a category of errors called `user-error' for errors which are @@ -605,7 +607,7 @@ This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/TUTORIAL b/etc/TUTORIAL index d842870975e..4345ac504e2 100644 --- a/etc/TUTORIAL +++ b/etc/TUTORIAL @@ -539,13 +539,6 @@ work if the system should crash. >> Type C-x C-s, saving your copy of the tutorial. This should show "Wrote ...TUTORIAL" at the bottom of the screen. -NOTE: On some systems, typing C-x C-s will freeze the screen and you -will see no further output from Emacs. This indicates that an -operating system "feature" called "flow control" is intercepting the -C-s and not letting it get through to Emacs. To unfreeze the screen, -type C-q. Then see the section "Spontaneous Entry to Incremental -Search" in the Emacs manual for advice on dealing with this "feature". - You can find an existing file, to view it or edit it. You can also find a file which does not already exist. This is the way to create a file with Emacs: find the file, which will start out empty, and then @@ -1105,13 +1098,13 @@ This version of the tutorial is a part of GNU Emacs. It is copyrighted and comes with permission to distribute copies on certain conditions: Copyright (C) 1985, 1996, 1998, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/TUTORIAL.bg b/etc/TUTORIAL.bg index cc8b2c5b2c5..fee22980a38 100644 --- a/etc/TUTORIAL.bg +++ b/etc/TUTORIAL.bg @@ -563,15 +563,6 @@ C_- >> Âúâåäåòå C-x C-s, çàïàçâàéêè âàøåòî êîïèå îò âúâåäåíèåòî. Òîâà òðÿáâà äà èçâåäå "Wrote ...TUTORIAL.bg" â äúíîòî íà åêðàíà. -ÇÀÁÅËÅÆÊÀ: Íà íÿêîè ñèñòåìè âúâåæäàíåòî íà C-x C-s ùå çàìðúçè åêðàíà è -âèå íÿìà äà âèæäàòå ïîâå÷å èçõîä îò Åìàêñ. Òîâà ïîêàçâà, ÷å åäíà -"ñïîñîáíîñò" íà îïåðàöèîííàòà ñèñòåìà, íàðè÷àíà "óïðàâëåíèå íà ïîòîêà" -(flow control), å ïðèõâàíàëà C-s è íå ãî ïðîïóñêà êúì Åìàêñ. Çà äà -ðàçìðàçèòå åêðàíà, âúâåäåòå C-q. Òîãàâà âèæòå ñåêöèÿòà "Ñïîíòàííî -âêëþ÷âàíå íà ïîñòúïêîâî òúðñåíå" (Spontaneous Entry to Incremental -Search) â ðúêîâîäñòâîòî íà Åìàêñ çà ñúâåò êàê äà ñå ñïðàâèòå ñ òàçè -"ñïîñîáíîñò". - Ìîæå äà íàìåðèòå ñúùåñòâóâàù ôàéë, äà ãî ðàçãëåäàòå è äà ãî ðåäàêòèðàòå. Ìîæåòå ñúùî äà íàìåðèòå ôàéë, êîéòî íå ñúùåñòâóâà. Òîâà å íà÷èíúò çà ñúçäàâàíå íà íîâè ôàéëîâå â Åìàêñ: íàìèðàòå ôàéëà, êîéòî @@ -1170,7 +1161,7 @@ This version of the tutorial, like GNU Emacs, is copyrighted, and comes with permission to distribute copies on certain conditions: Copyright (C) 1985, 1996, 1998, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that the diff --git a/etc/TUTORIAL.cn b/etc/TUTORIAL.cn index 5e318e8ff90..2bdd2efeb7e 100644 --- a/etc/TUTORIAL.cn +++ b/etc/TUTORIAL.cn @@ -455,12 +455,6 @@ Emacs >> ÊäÈë C-x C-s °Ñ±¾¿ìËÙÖ¸ÄÏ´æÏÂÀ´¡£ Äã»áÔÚÆÁÄ»µÄÏ·½¿´µ½Ò»ÌõÏûÏ¢£º¡°Wrote ...TUTORIAL.cn¡±¡£ -×¢Ò⣺ÔÚijЩÖÕ¶ËÏ£¬ÊäÈë C-x C-s »á¶³½áÆÁÄ»¡¾ÆÁĻûÓÐÈκÎÊä³ö¡¿£¬Ê¹Äã¿´ -²»µ½ Emacs µÄÈκα仯¡£ÆäÔ­ÒòÊDzÙ×÷ϵͳµÄ¡°Á÷Á¿¿ØÖÆ¡±¹¦ÄÜÀ¹½ØÁË C-s ²¢ -¶³½áÁËÆÁÄ»¡£Óà C-q ¿ÉÒÔ½â³ýÆÁÄ»¶³½á¡£Òª½â¾öÕâ¸öÎÊÌ⣬Çë²Î¿¼ Emacs ÊÖ²á -ÀïµÄ¡°Spontaneous Entry to Incremental Search¡±Ò»½Ú¡¾Emacs ÊÖ²á¿ÉÄÜ»¹Ã» -ÓÐÖÐÎÄ·­Òë¡¿£¬ÄÇÀïÌṩÁËһЩÓÐÓõĽ¨Òé¡£ - Äã²»µ«¿ÉÒÔѰÕÒÒ»¸öÒÑÓеÄÎļþÀ´²é¿´»ò±à¼­£¬»¹¿ÉÒÔѰÕÒÒ»¸ö²»´æÔÚµÄÎļþ¡£ ʵ¼ÊÉÏÕâÕýÊÇ Emacs ´´½¨ÐÂÎļþµÄ·½·¨£ºÕÒµ½²»´æÔÚµÄÐÂÎļþ¡£Ö»ÓÐÔÚ´æÅ̵Äʱ ºò£¬Emacs ²Å»áÕæÕý´´½¨Õâ¸öÎļþ¡£¶øÔÚÕâÖ®ºóµÄÒ»Çо͸ú±à¼­Ò»¸öÒÑÓÐÎļþû @@ -987,7 +981,7 @@ This version of the tutorial, like GNU Emacs, is copyrighted, and comes with permission to distribute copies on certain conditions: Copyright (C) 1985, 1996, 1998, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that the @@ -1013,7 +1007,7 @@ GNU Emacs to your friends. Help stamp out software obstructionism ±¾ÆªÎĵµÓë GNU Emacs Ò»ÑùÓµÓаæÈ¨£¬²¢ÔÊÐíÔÚÏÂÁÐÌõ¼þµÄÔ¼ÊøÏ·¢ÐÐÆä¿½±´£º Copyright (C) 1985, 1996, 1998, 2001, 2002, 2003, 2004, 2005, 2006, - 2007 Free Software Foundation, Inc. + 2007, 2008 Free Software Foundation, Inc. ±¾ÎĵµÔÊÐíÔÚ²»±ä¸üÎĵµÄÚÈݵÄÇé¿öÏÂÓÉÈκÎÈË·¢²¼ÔÚÈκÎýÌåÉÏ£¬Í¬Ê±±ØÐë ÍêÕû±£Áô°æÈ¨ºÍÐí¿ÉÉùÃ÷£¬ÇÒÐè¸øÓèÊÜÖÚÓë·¢ÐÐÕßÍêÈ«ÏàͬµÄ¡¢Èç±¾ÉùÃ÷ËùÔÊ diff --git a/etc/TUTORIAL.cs b/etc/TUTORIAL.cs index fc4650d0fa2..24149006a2f 100644 --- a/etc/TUTORIAL.cs +++ b/etc/TUTORIAL.cs @@ -519,13 +519,6 @@ v p >> Stisknìte C-x C-s pro ulo¾ení va¹í kopie tutoriálu. Mìlo by to zobrazit "Wrote ...TUTORIAL.cs" ve spodním øádku obrazovky. -POZNÁMKA: Na nìkterých systémech zpùsobí stisk C-x C-s ztuhnutí -obrazovky a nevidíte ¾ádný dal¹í výstup z Emacsu. To znamená, ¾e -"vlastnost" operaèního systému zvaná "flow control" zachycuje C-s a -nepropustí jej k Emacsu. Pro odtuhnutí obrazovky stisknìte C-q. Pak -v sekci "Spontaneous Entry to Incremental Search" v manuálu Emacsu -vyhledejte radu, jak se vypoøádat s touto "vlastností". - Existující soubor mù¾ete vyhledat, abyste jej mohli prohlí¾et nebo editovat. Mù¾ete také vyhledat soubor, který je¹tì neexistuje. To je zpùsob, jakým lze vytvoøit soubor v Emacsu: vyhledejte soubor, který @@ -1023,7 +1016,7 @@ Tato verze tutori je ¹íøena se svolením distribuovat kopie za jistých podmínek: Copyright (C) 1985, 1996, 1998, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Ka¾dému je zaruèeno právo vytváøet a distribuovat pøesné kopie tohoto dokumentu tak, jak jej obdr¾el, na jakémkoliv médiu, s tím, ¾e bude diff --git a/etc/TUTORIAL.de b/etc/TUTORIAL.de index abdc1fec6ab..e0348560bed 100644 --- a/etc/TUTORIAL.de +++ b/etc/TUTORIAL.de @@ -390,9 +390,9 @@ Allgemein gesprochen l aktuellen Cursorposition. [Beachten Sie, daß ein logischer Befehlsname ist, der auf die -jeweilige Tastatur abgebildet wird. Lesen Sie im Abschnitt `Rebinding -Keys in Your Init File' des Emacs-Handbuches nach, wie Sie -gegebenenfalls die Tastaturbelegung verändern können.] +jeweilige Tastatur abgebildet wird. Lesen Sie im Abschnitt `Init +Rebinding' des Emacs-Handbuches nach, wie Sie gegebenenfalls die +Tastaturbelegung verändern können.] >> Probieren Sie das jetzt aus: Geben Sie ein paar Zeichen ein und löschen Sie sie wieder mit . Sie brauchen sich keine @@ -677,23 +677,6 @@ verloren geht. Die Ausgabe am unteren Bildschirmrand sollte `Wrote ...TUTORIAL.de' sein. -Anmerkung: Bei einigen Systemen scheint es, als ob das Ausführen von -C-x C-s Emacs abstürzen ließe (Emacs reagiert mit keinen Meldungen -mehr; der Bildschirm scheint eingefroren). Dieser Effekt tritt auf, -wenn das Betriebssystem das Zeichen C-s abfängt (es wird für `flow -control' verwendet) und nicht an Emacs weiterreicht. Um den -Bildschirm wieder zum Leben zu erwecken, geben Sie C-q ein, und lesen -Sie dann den Abschnitt `Spontaneous Entry to Incremental Search' im -Emacs-Handbuch, was man am besten tun kann. Das Emacs-Handbuch ist -übrigens auch online verfügbar mittels C-h i, und zwar im Abschnitt -`Emacs' (unter der Voraussetzung natürlich, daß die Info-Dateien von -Emacs auch installiert wurden. Wenn nicht, beschweren Sie sich bei -Ihrem System-Administrator). - -[Eine erste Abhilfe zur Umschiffung des C-s-Problems schafft die -Befehlsfolge `M-x save-buffer', welche exakt das gleiche wie C-x C-s -bewirkt.] - Sie können eine existierende Datei anschauen (`view') oder editieren. Sie können aber auch eine Datei laden, die noch gar nicht existiert, um so eine neue Datei zu erzeugen: Sie öffnen dazu die @@ -1050,16 +1033,6 @@ bet kurzer Ton, und Emacs sagt Ihnen, daß die Suche im Augenblick fehlschlägt (`failing'). C-g beendet ebenfalls einen Suchvorgang. -Anmerkung: Wie weiter oben schon einmal erwähnt, scheint es bei -einigen Systemen, als ob das Ausführen von C-s Emacs abstürzen läßt -(Emacs reagiert mit keinen Meldungen mehr; der Bildschirm wirkt -eingefroren). Dieser Effekt tritt auf, wenn das Betriebssystem das -Zeichen C-s abfängt (es wird für `flow control' verwendet) und nicht -an Emacs weiterreicht. Um den Bildschirm wieder zum Leben zu -erwecken, geben Sie C-q ein, und lesen Sie dann den Abschnitt -`Spontaneous Entry to Incremental Search' im Emacs-Handbuch, was man -am besten tun kann. - Wenn Sie sich mitten in einer inkrementellen Suche befinden und drücken, wird das letzte Zeichen im Suchstring gelöscht, und der Cursor springt zurück auf die letzte Suchposition. Angenommen, @@ -1461,7 +1434,7 @@ Beachten Sie bitte, da Urheberrechtsnotiz gültig ist (zu finden in der Datei TUTORIAL). Copyright (C) 1985, 1996, 1997, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Hiermit wird für jedermann die Erlaubnis erteilt, wörtliche, unveränderte Kopien dieses Dokumentes für jegliches Medium zu diff --git a/etc/TUTORIAL.eo b/etc/TUTORIAL.eo index c5a4ab19df0..d1447badd2a 100644 --- a/etc/TUTORIAL.eo +++ b/etc/TUTORIAL.eo @@ -533,14 +533,6 @@ sistemo paneos. Emakso devas montri la mesaøon "Wrote ...TUTORIAL.eo" (Skribis ...TUTORIAL.eo) æe la fundo de la ekrano. -NOTO: Sur iuj sistemoj, C-x C-s senmovigas la ekranon kaj vi vidos -nenian pluan eligon de Emakso. Tio indikas ke operaciuma "trajto" -nomata "fluregulado" (angle "flow control") interkaptis la ordonon C-s -kaj ne lasas øin trapasi al Emakso. Por revivigi la ekranon, tajpu -C-q. Poste rigardu la sekcion nomatan "Spontaneous Entry to -Incremental Search" en la Emaksa manlibro por konsilo kion fari pri æi -tiu "trajto". - Vi povas trovi ekzistantan dosieron, por vidigi aý redakti øin. Vi ankaý povas trovi dosieron kiu ankoraý ne ekzistas. Æi tio estas la maniero por krei dosieron per Emakso: trovu la dosieron, komence @@ -1090,13 +1082,13 @@ kopirajton, kaj venas kun permeso por disdoni kopiojn se certaj kondiæoj estas observataj: Copyright (C) 1985, 1999, 2001, 2002, 2005, - 2007 Free Software Foundation, Inc. + 2007, 2008 Free Software Foundation, Inc. Æi tiu dosiero estas parto de "GNU Emacs". "GNU Emacs" estas libera programverko; vi povas øin pludistribui kaj/aý modifi je la kondiæoj de la GNUa Øenerala Publika Permesilo, - eldonita de "Free Software Foundation", laý la versio 2 de tiu + eldonita de "Free Software Foundation", laý la versio 3 de tiu Permesilo aý, se vi preferas, ajna posta versio. Ni distribuas æi tiun programon esperante ke øi estos utila, tamen diff --git a/etc/TUTORIAL.es b/etc/TUTORIAL.es index 7fdd96811e5..c7bd289d7f7 100644 --- a/etc/TUTORIAL.es +++ b/etc/TUTORIAL.es @@ -567,14 +567,6 @@ trabajo si el sistema falla. Esto debería mostrar "Wrote ...TUTORIAL.es" al final de la pantalla. -NOTA: En algunos sistemas, teclear C-x C-s dejará inmóvil la pantalla -y no podrá ver más respuesta de Emacs. Esto indica que una -"característica" del sistema operativo llamada "control de flujo" está -interceptando el C-s y no permitiéndole llegar hasta Emacs. Para -descongelar la pantalla, teclee C-q. Luego consulte la sección -"Entrada Espontánea para Búsqueda Incremental" en el manual de Emacs -para consejos de cómo tratar con esta "característica". - Puede encontrar un archivo existente, para verlo o editarlo. También puede hacerlo con un archivo que no exista. Ésta es la forma de crear un archivo en Emacs: encuentre el archivo, que comenzará vacío, luego @@ -1188,7 +1180,7 @@ siguiente nota de derechos de reproducci archivo TUTORIAL). Copyright (C) 1985, 1996, 1998, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Se permite a cualquiera hacer o distribuir copias literales de este documento como se recibe, en cualquier medio, siempre que la nota diff --git a/etc/TUTORIAL.fr b/etc/TUTORIAL.fr index 88dc98a088c..5568fa65930 100644 --- a/etc/TUTORIAL.fr +++ b/etc/TUTORIAL.fr @@ -570,14 +570,6 @@ possible de travail au cas o >> Faites C-x C-s pour sauvegarder votre copie du didacticiel. Cela devrait écrire "Wrote ...TUTORIAL.fr" en bas de l'écran. -REMARQUE : Sur certains systèmes, C-x C-s gèlera l'écran et vous ne -verrez plus rien se produire dans Emacs. Cela indique qu'une -« fonctionnalité » du système d'exploitation, appelée « contrôle de flux », -a intercepté le C-s et ne lui permet pas de parvenir à Emacs. Pour -décoincer l'écran, faites C-q puis consultez la section « Spontaneous -Entry to Incremental Search » dans le manuel d'Emacs pour avoir des -avis sur la gestion de cette « fonctionnalité ». - Vous pouvez trouver un fichier existant pour le visualiser ou l'éditer. Vous pouvez également trouver un fichier qui n'existe pas encore. C'est ainsi que l'on crée un fichier avec Emacs : on trouve le @@ -1171,7 +1163,7 @@ copyright, et vous pouvez en distribuer des copies sous certaines conditions : Copyright (C) 1985, 1996, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Chacun peut créer ou distribuer des copies de ce document tel qu'il l'a reçu, sur n'importe quel support, pourvu que la note de diff --git a/etc/TUTORIAL.it b/etc/TUTORIAL.it index 74beb63f018..5de817ac74d 100644 --- a/etc/TUTORIAL.it +++ b/etc/TUTORIAL.it @@ -548,14 +548,6 @@ non perdere troppo lavoro se per caso il sistema dovesse bloccarsi. dovrebbe mostrare il messaggio "Wrote ...TUTORIAL.it" nella parte bassa dello schermo. -NOTA: su alcuni sistemi il comando C-x C-s bloccherà lo schermo e poi non -si vedrà più alcun altro messaggio da Emacs. Questo significa che una -caratteristica del sistema operativo chiamata "controllo di flusso" sta -intercettando il carattere C-s e non gli permette di arrivare fino ad -Emacs. Per sbloccare lo schermo si può usare C-q. Poi si legga la -sezione "Spontaneous Entry to Incremental Search" nel manuale di Emacs per -suggerimenti su come gestire questa caratteristica del proprio sistema. - Si può aprire un file già esistente per leggerlo o modificarlo. Si può anche "visitare" un file che ancora non esiste. Questo è un modo per creare un nuovo file con Emacs: si apre il file che sarà inizialmente @@ -1093,7 +1085,7 @@ distribuito con il permesso di farne copie a determinate condizioni: indicativo, restando comunque inteso il fatto che è quella originale a fare fede. -Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. È permesso a chiunque copiare e distribuire attraverso ogni mezzo copie fedeli di questo documento così come viene ricevuto, a condizione che diff --git a/etc/TUTORIAL.ja b/etc/TUTORIAL.ja index 3452c02f0f8..4c2d612166a 100644 --- a/etc/TUTORIAL.ja +++ b/etc/TUTORIAL.ja @@ -495,14 +495,6 @@ C-_ $B$d(B C-x u $B$O?tCM0z?t$r7+$jJV$72s?t$H2r> C-x C-s $B$H%?%$%W$7$F$3$NF~Lg%,%$%I$N%3%T!<$r%;!<%V$7$F2<$5$$!#(B $B2hLL:G2O$rF~NO$7$F$$$-$^$9!#(B @@ -1048,7 +1040,7 @@ This version of the tutorial, like GNU Emacs, is copyrighted, and comes with permission to distribute copies on certain conditions: Copyright (C) 1985, 1996, 1998, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that the diff --git a/etc/TUTORIAL.ko b/etc/TUTORIAL.ko index 9f3d66a48af..46c49a1cdd8 100644 --- a/etc/TUTORIAL.ko +++ b/etc/TUTORIAL.ko @@ -499,14 +499,6 @@ C-f $(C8m7I@L(B $(C@[5?5G>n(B $(C<1EC5H(B $(CFD@O@;(B $(CC#1b(B $(C=C >> C-x C-s$(C8&(B $(CCD<-(B $(CAvD'<-@G(B $(C:9;g:;@;(B $(C0%9+8.(B $(CGO=J=C?@(B. $(C1W7/8i(B "Wrote ...TUTORIAL.ko"$(C6s0m(B $(CH-8i@G(B $(C9Y4Z?!(B $(C@Nn62(B $(C?n?5(B $(CC<0h?!<-4B(B C-x C-s$(C8&(B $(CD!8i(B $(CH-8i@;(B $(C5?0a=CDQ<-(B, $(C@L8F=:0!(B -$(C>F9+(B $(CCb7B55(B $(CGOAv(B $(C>J4B(B $(C0M@;(B $(C:<(B $(C0f?l0!(B $(C@V=@4O4Y(B. $(C@L0M@:(B "$(CHe8'(B $(CA&>n(B"$(C6s0m(B -$(C:R8.?l4B(B $(C?n?5(B $(CC<0h@G(B "$(CF/B!(B"$(C@L(B C-s$(C8&(B $(C0!7NC$<-(B $(C@L8F=:8&(B $(CEkGX(B $(C@|4^5GAv(B -$(C>J557O(B $(CGO1b(B $(C6'9.@T4O4Y(B. C-q$(C8&(B $(C4)8#8i(B $(CH-8i@L(B $(CGXA&5K4O4Y(B. $(C1W8.0m(B $(C3*<-(B -$(C@L8F=:(B $(C<38m<-@G(B "Spontaneous Entry to Incremental Search"$(C6s4B(B $(C4\?x@;(B -$(C:88i(B $(C@L71(B "$(CF/B!(B"$(C@;(B $(C>n6;0T(B $(CCk1^GR(B $(Cp@;(B $(C@P@;(B $(CJ4B(B $(CFD@O55(B $(CC#@;(B $(CF<-(B $(C1[?y@;(B $(C3"?l1b(B $(C=C@[GU4O4Y(B. @@ -990,7 +982,7 @@ GNU $(C@L8F=:?M(B $(C00@L(B $(C@L(B $(CAvD'<-(B $(CFG@:(B $(C@z@[1G@L $(C6'?!(B $(C:9;g:;@;(B $(C9hFwGR(B $(C> Naci¶nij C-x C-s, by zachowaæ dla siebie kopiê samouczka. Emacs powinien wypisaæ "Wrote ...TUTORIAL" na dole ekranu. -UWAGA: W niektórych systemach naci¶niêcie C-x C-s zamra¿a ekran i w -rezultacie Emacs nie mo¿e pokazywaæ tekstu. Oznacza to, ¿e sk³adowa -systemu operacyjnego, zwana kontrol± przep³ywu (ang. flow control), -przechwyci³a znak C-s i nie pozwoli³a mu dotrzeæ do Emacsa. By odzyskaæ -kontrolê nad ekranem, naci¶nij C-q. Dodatkowej pomocy poszukaj w -rozdziale "Spontaneous Entry to Incremental Search" w podrêczniku -Emacsa. - Odwiedziæ w celu edycji lub odczytu mo¿esz plik istniej±cy ju¿ w systemie. Mo¿esz te¿ odwiedziæ plik, którego jeszcze nie ma w systemie i w³a¶nie w taki sposób tworzy siê w Emacsie nowe pliki. Gdy poleceniem @@ -1218,7 +1210,7 @@ Ta wersja samouczka, podobnie jak GNU Emacs, jest chroniona prawem autorskim, ale wolno j± kopiowaæ pod nastêpuj±cymi warunkami: Copyright (C) 1985, 1994, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Zezwala siê na wykonywanie lub rozpowszechnianie wiernych kopii tego dokumentu w otrzymanej formie, na dowolnym diff --git a/etc/TUTORIAL.pt_BR b/etc/TUTORIAL.pt_BR index f2ceb9a0e0a..ad475b5a8ef 100644 --- a/etc/TUTORIAL.pt_BR +++ b/etc/TUTORIAL.pt_BR @@ -549,13 +549,6 @@ motivo. >> Digite C-x C-s, salvará a cópia do seu tutorial. Isso imprimirá "Wrote ...TUTORIAL.pt_BR" no fim da tela. -NOTA: Em alguns sistemas, digitar C-x C-s travará a tela e você não -verá saída do Emacs. Isso indica que um "recurso" do sistema operacional -chamado "controle de fluxo" (flow control) esta interceptando o C-s e -não deixando que passe pelo Emacs. Para destravar a tela, digite -C-q. Então, leia na seção "Spontaneous Entry to Incremental Search" no -manual do Emacs para uma dica de como lidar com esse "recurso". - Você pode encontrar um arquivo já existente, para vê-lo ou editá-lo. Você também pode encontrar um arquivo que ainda não existe. Essa é a maneira de criar um arquivo com o Emacs: encontre o arquivo, que iniciará @@ -1063,7 +1056,7 @@ Essa vers e como o GNU Emacs, tem um copyright, e vem com uma permissão de distribuição de cópias nas seguintes condições: -Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Permissão é garantida a qualquer um para fazer ou distribuir cópias integrais deste documento como recebido, em qualquer meio, deixando diff --git a/etc/TUTORIAL.ro b/etc/TUTORIAL.ro index 159796403d4..d6361743644 100644 --- a/etc/TUTORIAL.ro +++ b/etc/TUTORIAL.ro @@ -552,15 +552,6 @@ sistemului. Aceasta ar trebui sã afiºeze "Wrote ...TUTORIAL.ro" la marginea de jos a ecranului. -OBSERVAÞIE: În unele sisteme, tastarea comenzii C-x C-s va bloca -ecranul ºi nu veþi mai primi nici un de rãspuns din partea Emacs-ului. -Aceasta indicã faptul cã o facilitate a sistemului de operare numitã -"controlul fluxului" ("flow control" în limba englezã) intercepteazã -C-s, nelasându-l sã ajungã la Emacs. Pentru deblocarea ecranului, -tastaþi C-q. Puteþi gãsi detalii referitoare la aceastã aºa-numitã -"facilitate" în secþiunea "Spontaneous Entry to Incremental Search" -din manualul Emacs-ului. - Puteþi deschide un fiºier existent, pentru a-l vedea sau edita. Puteþi de asemenea deschide un fiºier care nu existã. Aceasta este modalitatea în care creaþi noi fiºiere cu Emacs-ul: deschideþi @@ -1092,7 +1083,7 @@ This version of the tutorial, like GNU Emacs, is copyrighted, and comes with permission to distribute copies on certain conditions: Copyright (C) 1998, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. + 2006, 2007, 2008 Free Software Foundation, Inc. Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that the diff --git a/etc/TUTORIAL.ru b/etc/TUTORIAL.ru index 9fc54ba121d..3e3bdfce8e1 100644 --- a/etc/TUTORIAL.ru +++ b/etc/TUTORIAL.ru @@ -1,13 +1,13 @@ -õÞÅÂÎÉË Emacs. õÓÌÏ×ÉÑ ÒÁÓÐÒÏÓÔÒÁÎÅÎÉÑ ÐÒÉ×ÅÄÅÎÙ × ËÏÎÃÅ ÆÁÊÌÁ +õÞÅÂÎÉË Emacs. õÓÌÏ×ÉÑ ËÏÐÉÒÏ×ÁÎÉÑ ÐÒÉ×ÅÄÅÎÙ × ËÏÎÃÅ ÆÁÊÌÁ. -äÌÑ ÕÐÒÁ×ÌÅÎÉÑ Emacs ÏÂÙÞÎÏ ÉÓÐÏÌØÚÕÅÔÓÑ ËÌÀÞ (key -- ÓÏÞÅÔÁÎÉÅ ËÌÁ×ÉÛ +äÌÑ ÕÐÒÁ×ÌÅÎÉÑ Emacs'ÏÍ ÏÂÙÞÎÏ ÉÓÐÏÌØÚÕÅÔÓÑ ËÌÀÞ (key -- ÓÏÞÅÔÁÎÉÅ ËÌÁ×ÉÛ ËÌÁ×ÉÁÔÕÒÙ É/ÉÌÉ ËÎÏÐÏË ÍÙÛÉ), ×ËÌÀÞÁÀÝÉÊ × ÓÅÂÑ ËÌÁ×ÉÛÕ CONTROL (ÉÎÏÇÄÁ ÏÔÍÅÞÁÅÍÁÑ ËÁË CTRL ÉÌÉ CTL) ÉÌÉ ËÌÁ×ÉÛÕ META (ÉÎÏÇÄÁ ÐÏÍÅÞÅÎÎÕÀ ËÁË ALT ÉÌÉ EDIT). ÷ ÄÁÌØÎÅÊÛÅÍ, ×ÍÅÓÔÏ ÔÏÇÏ, ÞÔÏÂÙ ËÁÖÄÙÊ ÒÁÚ ÐÉÓÁÔØ META ÉÌÉ CONTROL, ÍÙ ÂÕÄÅÍ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÌÅÄÕÀÝÉÅ ÓÏËÒÁÝÅÎÉÑ: C- -- ÓÌÅÄÕÅÔ ÕÄÅÒÖÉ×ÁÔØ ËÌÁ×ÉÛÕ CONTROL, ÐÏËÁ ÎÁÂÉÒÁÅÔÓÑ ÓÉÍ×ÏÌ - . ôÁË, C-f ÄÏÌÖÎÏ ÏÚÎÁÞÁÔØ: ÎÁÖÁÔØ ËÌÁ×ÉÛÕ CONTROL É f. + . ôÁË, C-f ÄÏÌÖÎÏ ÏÚÎÁÞÁÔØ: ÎÁÖÁÔØ ËÌÁ×ÉÛÕ CONTROL É f. M- -- ÓÌÅÄÕÅÔ ÕÄÅÒÖÉ×ÁÔØ ËÌÁ×ÉÛÕ META, ÐÏËÁ ÎÁÂÉÒÁÅÔÓÑ ÓÉÍ×ÏÌ . åÓÌÉ ÎÅÔ ËÌÁ×ÉÛÉ META, ALT ÉÌÉ EDIT, ÔÏ ÎÁÖÍÉÔÅ , ÏÔÐÕÓÔÉÔÅ ÅÅ, Á ÐÏÔÏÍ ÎÁÂÅÒÉÔÅ ÓÉÍ×ÏÌ . @@ -15,14 +15,14 @@ EDIT). ÷ÁÖÎÏÅ ÚÁÍÅÞÁÎÉÅ: ÄÌÑ ÚÁ×ÅÒÛÅÎÉÑ ÓÅÁÎÓÁ Emacs, ÎÁÂÅÒÉÔÅ C-x C-c (Ä×Á ÓÉÍ×ÏÌÁ). óÉÍ×ÏÌÙ ">>" Ó ÌÅ×ÏÊ ÓÔÏÒÏÎÙ ÕËÁÚÙ×ÁÀÔ, ÞÔÏ ×ÁÍ ÎÕÖÎÏ ÄÅÌÁÔØ, ÞÔÏÂÙ ÐÒÉÍÅÎÉÔØ ËÏÍÁÎÄÕ. îÁÐÒÉÍÅÒ: -<<ðÕÓÔÙÅ ÓÔÒÏËÉ ×ÏËÒÕÇ ×ÓÔÁ×ÌÅÎÙ ËÏÍÁÎÄÏÊ help-with-tutorial>> -[óÅÒÅÄÉÎÁ ÓÔÒÁÎÉÃÙ ÏÓÔÁ×ÌÅÎÁ ÐÕÓÔÏÊ × ÕÞÅÂÎÙÈ ÃÅÌÑÈ. ôÅËÓÔ ÐÒÏÄÏÌÖÁÅÔÓÑ ÎÉÖÅ] +<> +[óÅÒÅÄÉÎÁ ÓÔÒÁÎÉÃÙ ÏÓÔÁ×ÌÅÎÁ ÐÕÓÔÏÊ × ÕÞÅÂÎÙÈ ÃÅÌÑÈ. ôÅËÓÔ ÐÒÏÄÏÌÖÁÅÔÓÑ ÎÉÖÅ] >> ôÅÐÅÒØ ÎÁÖÍÉÔÅ C-v (ÐÒÏÓÍÏÔÒ ÓÌÅÄÕÀÝÅÇÏ ÜËÒÁÎÁ) ÄÌÑ ÐÅÒÅÍÅÝÅÎÉÑ ÎÁ - ÓÌÅÄÕÀÝÉÊ ÜËÒÁÎ. (×ÙÐÏÌÎÉÔÅ ÜÔÕ ËÏÍÁÎÄÕ ÕÄÅÒÖÉ×ÁÑ ËÌÁ×ÉÛÕ CONTROL É - ÎÁÖÉÍÁÑ v). ôÅÐÅÒØ ×Ù ÄÏÌÖÎÙ ÜÔÏ ÓÄÅÌÁÔØ ÅÝÅ ÒÁÚ, ËÏÇÄÁ ÚÁËÏÎÞÉÔÅ ÞÉÔÁÔØ + ÓÌÅÄÕÀÝÉÊ ÜËÒÁÎ. (÷ÙÐÏÌÎÉÔÅ ÜÔÕ ËÏÍÁÎÄÕ ÕÄÅÒÖÉ×ÁÑ ËÌÁ×ÉÛÕ CONTROL É + ÎÁÖÉÍÁÑ v.) ôÅÐÅÒØ ×Ù ÄÏÌÖÎÙ ÜÔÏ ÓÄÅÌÁÔØ ÅÝÅ ÒÁÚ, ËÏÇÄÁ ÚÁËÏÎÞÉÔÅ ÞÉÔÁÔØ ÜËÒÁÎ. -ïÂÒÁÔÉÔÅ ×ÎÉÍÁÎÉÅ ÎÁ ÔÏ, ÞÔÏ, ÐÒÉ ÐÅÒÅÈÏÄÅ Ó ÜËÒÁÎÁ ÎÁ ÜËÒÁÎ ÐÅÒÅËÒÙ×ÁÀÔÓÑ +ïÂÒÁÔÉÔÅ ×ÎÉÍÁÎÉÅ ÎÁ ÔÏ, ÞÔÏ ÐÒÉ ÐÅÒÅÈÏÄÅ Ó ÜËÒÁÎÁ ÎÁ ÜËÒÁÎ ÐÅÒÅËÒÙ×ÁÀÔÓÑ Ä×Å ÓÔÒÏÞËÉ -- ÜÔÏ ÏÂÅÓÐÅÞÉ×ÁÅÔ ÎÅËÏÔÏÒÕÀ ÎÅÐÒÅÒÙ×ÎÏÓÔØ ×ÏÓÐÒÉÑÔÉÑ, ÔÁË ÞÔÏ ×Ù ÍÏÖÅÔÅ ÐÒÏÄÏÌÖÁÔØ ÞÉÔÁÔØ ÔÅËÓÔ ÎÅ ÔÅÒÑÑ ÎÉÔÉ ÐÏ×ÅÓÔ×Ï×ÁÎÉÑ. @@ -41,10 +41,11 @@ EDIT). C-v ðÅÒÅÊÔÉ ÎÁ ÏÄÉÎ ÜËÒÁÎ ×ÐÅÒÅÄ M-v ðÅÒÅÊÔÉ ÎÁ ÏÄÉÎ ÜËÒÁÎ ÎÁÚÁÄ - C-l ïÞÉÓÔÉÔØ ÜËÒÁÎ É ÏÔÏÂÒÁÚÉÔØ ×ÓÅ ÚÁÎÏ×Ï, ÒÁÚÍÅÓÔÉ× ÔÅËÓÔ, ÎÁÈÏÄÑÝÉÊÓÑ - ×ÏÚÌÅ ËÕÒÓÏÒÁ, × ÃÅÎÔÒÅ ÜËÒÁÎÁ. (ÜÔÏ CONTROL-L, Á ÎÅ CONTROL-1.) + C-l ïÞÉÓÔÉÔØ ÜËÒÁÎ É ÏÔÏÂÒÁÚÉÔØ ×ÓÅ ÚÁÎÏ×Ï, + ÒÁÚÍÅÓÔÉ× ÔÅËÓÔ, ÎÁÈÏÄÑÝÉÊÓÑ ×ÏÚÌÅ ËÕÒÓÏÒÁ, + × ÃÅÎÔÒÅ ÜËÒÁÎÁ. (ÜÔÏ CONTROL-L, Á ÎÅ CONTROL-1.) ->> îÁÊÄÉÔÅ ËÕÒÓÏÒ, É ÚÁÐÏÍÎÉÔÅ ÔÅËÓÔ ×ÏÚÌÅ ÎÅÇÏ. ðÏÔÏÍ ÎÁÖÍÉÔÅ C-l. +>> îÁÊÄÉÔÅ ËÕÒÓÏÒ É ÚÁÐÏÍÎÉÔÅ ÔÅËÓÔ ×ÏÚÌÅ ÎÅÇÏ. ðÏÔÏÍ ÎÁÖÍÉÔÅ C-l. îÁÊÄÉÔÅ ËÕÒÓÏÒ ÓÎÏ×Á É ÕÂÅÄÉÔÅÓØ, ÞÔÏ ×ÏÚÌÅ ÎÅÇÏ ×ÓÅ ÔÏÔ ÖÅ ÔÅËÓÔ. ÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ËÌÁ×ÉÛÉ PageUp É PageDn ÄÌÑ ÐÅÒÅÍÅÝÅÎÉÑ ÍÅÖÄÕ @@ -58,7 +59,7 @@ EDIT). ä×ÉÖÅÎÉÅ ÏÔ ÜËÒÁÎÁ Ë ÜËÒÁÎÕ ÕÄÏÂÎÏ, ÎÏ ËÁË ÐÅÒÅÍÅÓÔÉÔØÓÑ × ÏÐÒÅÄÅÌÅÎÎÏÅ ÍÅÓÔÏ × ÔÅËÓÔÅ ÎÁ ÜËÒÁÎÅ? -åÓÔØ ÎÅÓËÏÌØËÏ ÓÐÏÓÏÂÏ× ×ÙÐÏÌÎÅÎÉÑ ÜÔÏÊ ÏÐÅÒÁÃÉÉ. ÷Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ +åÓÔØ ÎÅÓËÏÌØËÏ ÓÐÏÓÏÂÏ× ×ÙÐÏÌÎÅÎÉÑ ÜÔÏÊ ÏÐÅÒÁÃÉÉ. ÷Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ËÌÁ×ÉÛÉ ÕÐÒÁ×ÌÅÎÉÑ ËÕÒÓÏÒÏÍ (ÓÔÒÅÌËÉ), ÎÏ ÂÏÌÅÅ ÜÆÆÅËÔÉ×ÎÙÍ ÂÕÄÅÔ ÓÏÈÒÁÎÅÎÉÅ ÒÕË × ÉÈ ÓÔÁÎÄÁÒÔÎÏÊ ÐÏÚÉÃÉÉ É ÉÓÐÏÌØÚÏ×ÁÔØ ËÏÍÁÎÄÙ C-p, C-b, C-f É C-n. üÔÉ ËÏÍÁÎÄÙ ÜË×É×ÁÌÅÎÔÎÙ ÞÅÔÙÒÅÍ ËÌÁ×ÉÛÁÍ ÐÅÒÅÍÅÝÅÎÉÑ ËÕÒÓÏÒÁ, ËÁË ÜÔÏ ÐÏËÁÚÁÎÏ @@ -73,23 +74,23 @@ EDIT). óÌÅÄÕÀÝÁÑ ÓÔÒÏËÁ, C-n >> ðÅÒÅÍÅÓÔÉÔÅ ËÕÒÓÏÒ ÎÁ ÓÔÒÏËÕ ÒÑÄÏÍ Ó ÄÉÁÇÒÁÍÍÏÊ, ÉÓÐÏÌØÚÕÑ ÓÏÞÅÔÁÎÉÑ - ËÌÁ×ÉÛ C-n ÉÌÉ C-p. ðÏÔÏÍ, ÎÁÖÍÉÔÅ C-l É ÐÏÓÍÏÔÒÉÔÅ ËÁË ÄÉÁÇÒÁÍÍÁ + ËÌÁ×ÉÛ C-n ÉÌÉ C-p. ðÏÔÏÍ ÎÁÖÍÉÔÅ C-l É ÐÏÓÍÏÔÒÉÔÅ ËÁË ÄÉÁÇÒÁÍÍÁ ÐÅÒÅÍÅÓÔÉÔÓÑ × ÃÅÎÔÒ ÜËÒÁÎÁ. ÷ÁÍ ÂÕÄÅÔ ÎÅÓÌÏÖÎÏ ÚÁÐÏÍÎÉÔØ ÜÔÉ ËÏÍÁÎÄÙ ÐÏ ÐÅÒ×ÙÍ ÂÕË×ÁÍ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÈ ÓÌÏ× -- B-ÎÁÚÁÄ (backward) É F-×ÐÅÒÅÄ (forward). üÔÏ ÏÓÎÏ×ÎÙÅ ËÏÍÁÎÄÙ -ÐÏÚÉÃÉÏÎÉÒÏ×ÁÎÉÑ ËÕÒÓÏÒÁ, ËÏÔÏÒÙÍÉ ÷Ù ÂÕÄÅÔÅ ÐÏÌØÚÏ×ÁÔØÓÑ ÷óåçäá, ÔÁË ÞÔÏ +ÐÏÚÉÃÉÏÎÉÒÏ×ÁÎÉÑ ËÕÒÓÏÒÁ, ËÏÔÏÒÙÍÉ ×Ù ÂÕÄÅÔÅ ÐÏÌØÚÏ×ÁÔØÓÑ ÷óåçäá, ÔÁË ÞÔÏ ÂÕÄÅÔ ÎÅÐÌÏÈÏ ÉÈ ×ÙÕÞÉÔØ. >> îÁÖÍÉÔÅ ÎÅÓËÏÌØËÏ ÒÁÚ C-n, ÞÔÏÂÙ ÏÐÕÓÔÉÔØ ËÕÒÓÏÒ ×ÎÉÚ ÎÁ ÜÔÕ ÓÔÒÏËÕ. ->> ðÅÒÅÍÅÓÔÉÔÅÓØ ÐÏ ÓÔÒÏËÅ, ÉÓÐÏÌØÚÕÑ C-f É ÐÏÔÏÍ ÐÏÄÎÉÍÉÔÅÓØ ××ÅÒÈ Ó +>> ðÅÒÅÍÅÓÔÉÔÅÓØ ÐÏ ÓÔÒÏËÅ, ÉÓÐÏÌØÚÕÑ C-f, É ÐÏÔÏÍ ÐÏÄÎÉÍÉÔÅÓØ ××ÅÒÈ Ó ÐÏÍÏÝØÀ C-p. ðÏÓÍÏÔÒÉÔÅ, ËÁË ÉÚÍÅÎÉÌÏÓØ ÐÏÌÏÖÅÎÉÅ ËÕÒÓÏÒÁ ÐÒÉ ÎÁÖÁÔÉÉ ó-Ò, ÅÓÌÉ ÏÎ ÎÁÈÏÄÉÌÓÑ × ÓÅÒÅÄÉÎÅ ÓÔÒÏËÉ. ëÁÖÄÁÑ ÓÔÒÏËÁ ÔÅËÓÔÁ ÚÁ×ÅÒÛÁÅÔÓÑ ÓÉÍ×ÏÌÏÍ ÐÅÒÅ×ÏÄÁ ÓÔÒÏËÉ (Newline -character), ËÏÔÏÒÙÊ ÏÔÄÅÌÑÅÔ ÅÅ ÏÔ ÓÌÅÄÕÀÝÅÊ ÓÔÒÏËÉ. ðÏÓÌÅÄÎÑÑ ÓÔÒÏËÁ × -×ÁÛÅÍ ÆÁÊÌÅ ÄÏÌÖÎÁ ÂÙ ÔÏÖÅ ÚÁ×ÅÒÛÁÔØÓÑ ÓÉÍ×ÏÌÏÍ ÐÅÒÅ×ÏÄÁ ÓÔÒÏËÉ (ÎÏ Emacs ÎÅ +character), ËÏÔÏÒÙÊ ÏÔÄÅÌÑÅÔ ÅÅ ÏÔ ÓÌÅÄÕÀÝÅÊ ÓÔÒÏËÉ. ìÕÞÛÅ ÅÓÌÉ ÐÏÓÌÅÄÎÑÑ +ÓÔÒÏËÁ × ×ÁÛÅÍ ÆÁÊÌÅ ÔÏÖÅ ÚÁ×ÅÒÛÁÌÁÓØ ÂÙ ÓÉÍ×ÏÌÏÍ ÐÅÒÅ×ÏÄÁ ÓÔÒÏËÉ (ÎÏ Emacs ÎÅ ÔÒÅÂÕÅÔ ÜÔÏÇÏ). >> ðÏÐÒÏÂÕÊÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ C-b × ÎÁÞÁÌÅ ÓÔÒÏËÉ. ëÕÒÓÏÒ ÄÏÌÖÅÎ ÐÅÒÅÍÅÓÔÉÔØÓÑ @@ -98,20 +99,20 @@ character), C-f ÍÏÖÅÔ ÐÅÒÅÍÅÝÁÔØ ËÕÒÓÏÒ ÞÅÒÅÚ ÓÉÍ×ÏÌ ÐÅÒÅ×ÏÄÁ ÓÔÒÏËÉ ÔÁË ÖÅ, ËÁË É C-b. ->> ðÏÐÒÏÂÕÊÔÅ ÎÅÓËÏÌØËÏ ÒÁÚ ÐÒÉÍÅÎÉÔØ C-b ÔÁË, ÞÔÏÂÙ ÷Ù Õ×ÉÄÅÌÉ, ËÁË +>> ðÏÐÒÏÂÕÊÔÅ ÎÅÓËÏÌØËÏ ÒÁÚ ÐÒÉÍÅÎÉÔØ C-b ÔÁË, ÞÔÏÂÙ ×Ù Õ×ÉÄÅÌÉ, ËÁË Ä×ÉÖÅÔÓÑ ËÕÒÓÏÒ. äÁÌÅÅ ÉÓÐÏÌØÚÕÊÔÅ ÓÏÞÅÔÁÎÉÅ ËÌÁ×ÉÛ C-f ÞÔÏÂÙ ×ÅÒÎÕÔØÓÑ ÎÁ ËÏÎÅà ÓÔÒÏËÉ. îÁÖÍÉÔÅ C-f ÅÝÅ ÒÁÚ, ÞÔÏÂÙ ÐÅÒÅÊÔÉ Ë ÎÁÞÁÌÕ ÓÌÅÄÕÀÝÅÊ ÓÔÒÏËÉ. ëÏÇÄÁ ×Ù ÐÅÒÅÍÅÝÁÅÔÅÓØ ÚÁ ×ÅÒÈÎÉÊ ÉÌÉ ÎÉÖÎÉÊ ËÒÁÊ ÜËÒÁÎÁ, ÔÅËÓÔ, ÎÁÈÏÄÑÝÉÊÓÑ -ÚÁ ÜËÒÁÎÏÍ, ÓÄ×ÉÇÁÅÔÓÑ ×ÎÕÔÒØ ÜËÒÁÎÁ. üÔÏ ÎÁÚÙ×ÁÅÔÓÑ "ÐÒÏËÒÕÔËÁ -(scrolling)". ðÒÏËÒÕÔËÁ ÐÏÚ×ÏÌÑÅÔ Emacs'Õ ÐÅÒÅÍÅÝÁÔØ ËÕÒÓÏÒ × ÎÕÖÎÏÅ ÍÅÓÔÏ +ÚÁ ÜËÒÁÎÏÍ, ÓÄ×ÉÇÁÅÔÓÑ ×ÎÕÔÒØ ÜËÒÁÎÁ. üÔÏ ÎÁÚÙ×ÁÅÔÓÑ "ÐÒÏËÒÕÔËÁ" +(scrolling). ðÒÏËÒÕÔËÁ ÐÏÚ×ÏÌÑÅÔ Emacs'Õ ÐÅÒÅÍÅÝÁÔØ ËÕÒÓÏÒ × ÎÕÖÎÏÅ ÍÅÓÔÏ ÔÅËÓÔÁ ÂÅÚ ÐÅÒÅÍÅÝÅÎÉÑ ÅÇÏ ÚÁ ÐÒÅÄÅÌÙ ÜËÒÁÎÁ. >> ðÏÐÒÏÂÕÊÔÅ ÐÅÒÅÍÅÓÔÉÔØ ËÕÒÓÏÒ ÚÁ ÎÉÖÎÀÀ ÇÒÁÎÉÃÕ ÜËÒÁÎÁ, ÉÓÐÏÌØÚÕÑ C-n, É ÐÏÓÍÏÔÒÉÔÅ, ÞÔÏ ÐÒÏÉÚÏÊÄÅÔ. -åÓÌÉ ÐÏÓÉÍ×ÏÌØÎÏÅ ÐÅÒÅÍÅÝÅÎÉÅ ÓÌÉÛËÏÍ ÍÅÄÌÅÎÎÏ, ÷Ù ÍÏÖÅÔÅ Ä×ÉÇÁÔØÓÑ ÐÏ +åÓÌÉ ÐÏÓÉÍ×ÏÌØÎÏÅ ÐÅÒÅÍÅÝÅÎÉÅ ÓÌÉÛËÏÍ ÍÅÄÌÅÎÎÏ, ×Ù ÍÏÖÅÔÅ Ä×ÉÇÁÔØÓÑ ÐÏ ÓÌÏ×ÁÍ. M-f (META-f) ÐÅÒÅÍÅÝÁÅÔ ×ÐÅÒÅÄ ÎÁ ÓÌÏ×Ï, Á M-b ÎÁÚÁÄ ÎÁ ÓÌÏ×Ï. >> îÁÖÍÉÔÅ ÎÅÓËÏÌØËÏ ÒÁÚ M-f É M-b. @@ -120,14 +121,14 @@ C-f åÓÌÉ ËÕÒÓÏÒ ÎÁÈÏÄÉÔÓÑ ÍÅÖÄÕ ÓÌÏ×ÁÍÉ, M-f ÐÅÒÅÍÅÓÔÉÔ ÅÇÏ × ËÏÎÅà ÓÌÅÄÕÀÝÅÇÏ ÓÌÏ×Á. M-b ÒÁÂÏÔÁÅÔ ÔÏÞÎÏ ÔÁË ÖÅ, ÎÏ × ÐÒÏÔÉ×ÏÐÏÌÏÖÎÏÍ ÎÁÐÒÁ×ÌÅÎÉÉ. ->> îÁÖÍÉÔÅ M-f É M-b ÎÅÓËÏÌØËÏ ÒÁÚ, ÐÅÒÅÍÅÖÁÑ ÉÈ Ó C-f É C-b -- ÔÁË ×Ù +>> îÁÖÍÉÔÅ M-f É M-b ÎÅÓËÏÌØËÏ ÒÁÚ, ÐÅÒÅÍÅÖÁÑ ÉÈ Ó C-f É C-b, -- ÔÁË ×Ù ÓÍÏÖÅÔÅ ÚÁÍÅÔÉÔØ ÄÅÊÓÔ×ÉÑ M-f É M-b ÉÚ ÒÁÚÎÙÈ ÐÏÚÉÃÉÊ × ÓÌÏ×ÁÈ É ÍÅÖÄÕ ÎÉÍÉ. ïÔÍÅÔØÔÅ ÐÁÒÁÌÌÅÌØ ÍÅÖÄÕ C-f É C-b Ó ÏÄÎÏÊ ÓÔÏÒÏÎÙ, É M-f É M-b Ó ÄÒÕÇÏÊ. ïÞÅÎØ ÞÁÓÔÏ Meta-ÓÉÍ×ÏÌÙ ÉÓÐÏÌØÚÕÀÔÓÑ ÄÌÑ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÈ ÏÐÅÒÁÃÉÊ ÎÁÄ ÅÄÉÎÉÃÁÍÉ, ÏÐÒÅÄÅÌÅÎÎÙÍÉ × ÑÚÙËÅ (ÓÌÏ×Á, ÐÒÅÄÌÏÖÅÎÉÑ, ÁÂÚÁÃÙ), ÔÏÇÄÁ ËÁË -Control-ÓÉÍ×ÏÌÙ ÒÁÂÏÔÁÀÔ Ó ÏÓÎÏ×ÎÙÍÉ ÅÄÉÎÉÃÁÍÉ, ÎÅÚÁ×ÉÓÉÍÏ ÏÔ ÔÏÇÏ, ÞÔÏ ÷Ù +Control-ÓÉÍ×ÏÌÙ ÒÁÂÏÔÁÀÔ Ó ÏÓÎÏ×ÎÙÍÉ ÅÄÉÎÉÃÁÍÉ, ÎÅÚÁ×ÉÓÉÍÏ ÏÔ ÔÏÇÏ, ÞÔÏ ×Ù ÒÅÄÁËÔÉÒÕÅÔÅ (ÓÉÍ×ÏÌÙ, ÓÔÒÏËÉ, É Ô.Ä.). üÔÁ ÐÁÒÁÌÌÅÌØ ÓÕÝÅÓÔ×ÕÅÔ ÍÅÖÄÕ ÓÔÒÏËÁÍÉ É ÐÒÅÄÌÏÖÅÎÉÑÍÉ: C-a É C-e @@ -145,8 +146,8 @@ Control- ËÕÒÓÏÒ ÐÏËÁÚÙ×ÁÅÔ ÍÅÓÔÏ ÎÁ ÜËÒÁÎÅ × ËÁËÏÊ ÔÏÞËÅ ÂÕÄÅÔ ÒÁÓÐÏÌÏÖÅÎ ××ÏÄÉÍÙÊ ÔÅËÓÔ. -úÄÅÓØ ÓÏÂÒÁÎÙ ÏÓÎÏ×ÎÙÅ ËÏÍÁÎÄÙ ÐÅÒÅÍÅÝÅÎÉÑ ËÕÒÓÏÒÁ, ×ËÌÀÞÁÑ Ä×ÉÖÅÎÉÅ ÐÏ -ÓÌÏ×ÁÍ É ÐÒÅÄÌÏÖÅÎÉÑÍ: +÷ÏÔ Ó×ÏÄÎÙÊ ÓÐÉÓÏË ×ÓÅÈ ÏÓÎÏ×ÎÙÈ ËÏÍÁÎÄ ÐÅÒÅÍÅÝÅÎÉÑ ËÕÒÓÏÒÁ, ×ËÌÀÞÁÑ Ä×ÉÖÅÎÉÅ +ÐÏ ÓÌÏ×ÁÍ É ÐÒÅÄÌÏÖÅÎÉÑÍ: C-f îÁ ÓÉÍ×ÏÌ ×ÐÅÒÅÄ C-b îÁ ÓÉÍ×ÏÌ ÎÁÚÁÄ @@ -179,7 +180,7 @@ Greater-than { ÉÓÐÏÌØÚÕÊÔÅ C-v, ÞÔÏÂÙ ×ÅÒÎÕÔØÓÑ ÎÁÚÁÄ. >> óÅÊÞÁÓ ÐÏÐÒÏÂÕÊÔÅ M->, ÞÔÏÂÙ ÐÅÒÅÍÅÓÔÉÔØÓÑ Ë ËÏÎÃÕ ÕÞÅÂÎÉËÁ. éÓÐÏÌØÚÕÊÔÅ - M-v, ÞÔÏÂÙ ×ÅÒÎÕÔØÓÑ ÓÎÏ×Á. + M-v, ÞÔÏÂÙ ×ÅÒÎÕÔØÓÑ ÎÁÚÁÄ. ëÕÒÓÏÒ ÍÏÖÎÏ ÐÅÒÅÍÅÝÁÔØ ËÌÁ×ÉÛÁÍÉ ÕÐÒÁ×ÌÅÎÉÑ ËÕÒÓÏÒÁ (ÓÔÒÅÌËÁÍÉ), ÅÓÌÉ ×ÁÛ ÔÅÒÍÉÎÁÌ ÏÂÏÒÕÄÏ×ÁÎ ÉÍÉ. íÙ ÒÅËÏÍÅÎÄÕÅÍ ×ÙÕÞÉÔØ C-b, C-f, C-n É C-p ÐÏ ÔÒÅÍ @@ -187,7 +188,7 @@ Greater-than { ÐÏÌÕÞÉ× ÐÒÁËÔÉËÕ ÉÓÐÏÌØÚÏ×ÁÎÉÑ Emacs, ×Ù ÐÏÊÍÅÔÅ, ÞÔÏ ÉÓÐÏÌØÚÏ×ÁÔØ CTRL-ÓÉÍ×ÏÌÙ ÕÄÏÂÎÅÅ É ÂÙÓÔÒÅÅ, ÞÅÍ ËÎÏÐËÉ ÓÏ ÓÔÒÅÌÏÞËÁÍÉ (ÐÏÔÏÍÕ ÞÔÏ ×Ù ÎÅ ÕÂÉÒÁÅÔÅ ÒÕËÉ Ó ÏÂÙÞÎÏÇÏ ÉÈ ÐÏÌÏÖÅÎÉÑ ÐÒÉ ÐÅÞÁÔÉ). ÷-ÔÒÅÔØÉÈ, ËÁË ÔÏÌØËÏ ×Ù -ÐÒÉ×ÙËÎÉÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ CTRL-ÓÉÍ×ÏÌÙ, ×Ù ÓÍÏÖÅÔÅ ÔÁË ÖÅ ÌÅÇËÏ ×ÙÕÞÉÔØ É +ÐÒÉ×ÙËÎÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ CTRL-ÓÉÍ×ÏÌÙ, ×Ù ÓÍÏÖÅÔÅ ÔÁË ÖÅ ÌÅÇËÏ ×ÙÕÞÉÔØ É ÉÓÐÏÌØÚÏ×ÁÔØ ÄÒÕÇÉÅ, ÒÁÓÛÉÒÅÎÎÙÅ ËÏÍÁÎÄÙ ÐÅÒÅÍÅÝÅÎÉÑ ËÕÒÓÏÒÁ. âÏÌØÛÉÎÓÔ×Ï ËÏÍÁÎÄ Emacs ÄÏÐÕÓËÁÀÔ ÚÁÄÁÎÉÅ ÃÉÆÒÏ×ÏÇÏ ÁÒÇÕÍÅÎÔÁ; ÄÌÑ @@ -226,30 +227,30 @@ META. Ó ÌÅ×ÏÊ ÓÔÏÒÏÎÙ ÏËÎÁ Emacs. ÷Ù ÍÏÖÅÔÅ ÐÒÏËÒÕÞÉ×ÁÔØ ÔÅËÓÔ, ÉÓÐÏÌØÚÕÑ ÍÁÎÉÐÕÌÑÔÏÒ ÍÙÛØ. ->> ðÏÐÒÏÂÕÊÔÅ ÐÅÒÅÍÅÝÁÔØ ÍÙÛØ ÐÒÉ ÎÁÖÁÔÏÊ ÓÒÅÄÎÅÊ ËÎÏÐËÅ ÍÙÛÉ. ÷Ù Õ×ÉÄÉÔÅ +>> ðÏÐÒÏÂÕÊÔÅ ÐÅÒÅÍÅÝÁÔØ ÍÙÛØ ÐÒÉ ÎÁÖÁÔÏÊ ÓÒÅÄÎÅÊ ËÎÏÐËÅ ÍÙÛÉ. ÷Ù Õ×ÉÄÉÔÅ, ËÁË ÔÅËÓÔ ÐÒÏËÒÕÞÉ×ÁÅÔÓÑ ××ÅÒÈ É ×ÎÉÚ. * õðòá÷ìåîéå ëõòóïòïí îá X-ôåòíéîáìå ------------------------------------ -åÓÌÉ Õ ×ÁÓ X-ÔÅÒÍÉÎÁÌ, ÔÏ ÄÌÑ ÕÐÒÁ×ÌÅÎÉÑ ËÕÒÓÏÒÏÍ, ×ÁÍ ×ÅÒÏÑÔÎÏ ÐÏËÁÖÅÔÓÑ +åÓÌÉ Õ ×ÁÓ X-ÔÅÒÍÉÎÁÌ, ÔÏ ÄÌÑ ÕÐÒÁ×ÌÅÎÉÑ ËÕÒÓÏÒÏÍ, ×ÁÍ, ×ÅÒÏÑÔÎÏ, ÐÏËÁÖÅÔÓÑ ÂÏÌÅÅ ÌÅÇËÉÍ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ËÌÁ×ÉÛ ËÕÒÓÏÒÁ ÎÁ ÃÉÆÒÏ×ÏÊ ËÌÁ×ÉÁÔÕÒÅ (ÓÐÒÁ×Á). óÔÒÅÌËÉ ×ÌÅ×Ï, ×ÐÒÁ×Ï, ××ÅÒÈ É ×ÎÉÚ ÐÅÒÅÄ×ÉÇÁÀÔ ËÕÒÓÏÒ × ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÍ ÎÁÐÒÁ×ÌÅÎÉÉ -- ÏÎÉ ÒÁÂÏÔÁÀÔ ÔÏÞÎÏ ÔÁËÖÅ ËÁË C-b, C-f, C-p É -C-n, ÎÏ ÌÅÇÞÅ × ÎÁÂÏÒÅ É ÚÁÐÏÍÉÎÁÎÉÉ. ÷Ù ÔÁË ÖÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ +C-n, ÎÏ ÌÅÇÞÅ × ÎÁÂÏÒÅ É ÚÁÐÏÍÉÎÁÎÉÉ. ÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÏÞÅÔÁÎÉÑ C-left É C-right ÄÌÑ ÐÅÒÅÄ×ÉÖÅÎÉÑ ÐÏ ÓÌÏ×ÁÍ, É C-up É C-down ÄÌÑ -ÐÅÒÅÄ×ÉÖÅÎÉÑ ÐÏ ÂÌÏËÁÍ (Ô.Å. ÐÁÒÁÇÒÁÆÁÍ, ÅÓÌÉ ×Ù ÒÅÄÁËÔÉÒÕÅÔÅ ÔÅËÓÔ). åÓÌÉ +ÐÅÒÅÄ×ÉÖÅÎÉÑ ÐÏ ÂÌÏËÁÍ (Ô.Å. ÐÁÒÁÇÒÁÆÁÍ, ÅÓÌÉ ×Ù ÒÅÄÁËÔÉÒÕÅÔÅ ÔÅËÓÔ). åÓÌÉ Õ ×ÁÓ ÅÓÔØ ËÎÏÐËÉ ÐÏÍÅÞÅÎÎÙÅ HOME (ÉÌÉ BEGIN) É/ÉÌÉ END, ÔÏ ÏÎÉ ÂÕÄÕÔ ÐÅÒÅÍÅÝÁÔØ ËÕÒÓÏÒ × ÎÁÞÁÌÏ É ËÏÎÅà ÓÔÒÏËÉ, Á C-home É C-end ÂÕÄÕÔ ÐÅÒÅÍÅÝÁÔØ -× ÎÁÞÁÌÏ É ËÏÎÅà ÆÁÊÌÁ. åÓÌÉ ÎÁ ×ÁÛÅÊ ËÌÁ×ÉÁÔÕÒÅ ÅÓÔØ ËÎÏÐËÉ PgUp É PgDn, +× ÎÁÞÁÌÏ É ËÏÎÅà ÆÁÊÌÁ. åÓÌÉ ÎÁ ×ÁÛÅÊ ËÌÁ×ÉÁÔÕÒÅ ÅÓÔØ ËÎÏÐËÉ PgUp É PgDn, ÔÏ ×Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÉÈ ÄÌÑ ÐÅÒÅÍÅÝÅÎÉÑ ××ÅÒÈ É ×ÎÉÚ ÐÏÓÔÒÁÎÉÞÎÏ, ÁÎÁÌÏÇÉÞÎÏ ÉÓÐÏÌØÚÏ×ÁÎÉÀ M-v É C-v. ÷ÓÅ ÜÔÉ ËÏÍÁÎÄÙ ÍÏÇÕÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÃÉÆÒÏ×ÏÊ ÁÒÇÕÍÅÎÔ, ÔÁË, ËÁË Ï ÜÔÏÍ -ÒÁÓÓËÁÚÁÎÏ ×ÙÛÅ. ÷Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÕÓËÏÒÅÎÎÙÊ ÓÐÏÓÏ ××ÏÄÁ ÜÔÏÇÏ +ÒÁÓÓËÁÚÁÎÏ ×ÙÛÅ. ÷Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÕÓËÏÒÅÎÎÙÊ ÓÐÏÓÏ ××ÏÄÁ ÜÔÏÇÏ ÁÒÇÕÍÅÎÔÁ: ÐÒÏÓÔÏ ÎÁÖÍÉÔÅ CONTROL ÉÌÉ META É ÎÁÂÅÒÉÔÅ ÞÉÓÌÏ. îÁÐÒÉÍÅÒ, ÄÌÑ -ÐÅÒÅÍÅÝÅÎÉÑ ÎÁ 12 ÓÌÏ× ×ÐÒÁ×Ï, ÎÁÂÅÒÉÔÅ C-1 C-2 C-right. úÁÐÏÍÎÉÔÅ ÞÔÏ ÔÁË +ÐÅÒÅÍÅÝÅÎÉÑ ÎÁ 12 ÓÌÏ× ×ÐÒÁ×Ï, ÎÁÂÅÒÉÔÅ C-1 C-2 C-right. úÁÐÏÍÎÉÔÅ, ÞÔÏ ÔÁË ÏÞÅÎØ ÌÅÇËÏ ÎÁÂÉÒÁÔØ, ÐÏÔÏÍÕ ÞÔÏ ×Ù ÎÅ ÏÔÐÕÓËÁÅÔÅ ËÎÏÐËÕ CONTROL ÍÅÖÄÕ ÎÁÖÁÔÉÑÍÉ. @@ -257,8 +258,8 @@ C-n, * åóìé EMACS úá÷éó ------------------ -åÓÌÉ Emacs ÐÅÒÅÓÔÁÌ ÒÅÁÇÉÒÏ×ÁÔØ ÎÁ ×ÁÛÉ ËÏÍÁÎÄÙ, ÔÏ ×Ù ÍÏÖÅÔÅ ÉÚÂÅÖÁÔØ ÜÔÏÇÏ -ÐÒÏÓÔÏ ÎÁÖÁ× C-g. ÷Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ C-g, ÞÔÏÂÙ ÏÓÔÁÎÏ×ÉÔØ ×ÙÐÏÌÎÅÎÉÅ +åÓÌÉ Emacs ÐÅÒÅÓÔÁÌ ÒÅÁÇÉÒÏ×ÁÔØ ÎÁ ×ÁÛÉ ËÏÍÁÎÄÙ, ÔÏ ×Ù ÍÏÖÅÔÅ ÉÚÂÅÖÁÔØ ÜÔÏÇÏ, +ÐÒÏÓÔÏ ÎÁÖÁ× C-g. ÷Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ C-g, ÞÔÏÂÙ ÏÓÔÁÎÏ×ÉÔØ ×ÙÐÏÌÎÅÎÉÅ ËÏÍÁÎÄ, ËÏÔÏÒÙÅ ÓÌÉÛËÏÍ ÄÏÌÇÏ ×ÙÐÏÌÎÑÀÔÓÑ. ÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ C-g ÄÌÑ ÏÔÍÅÎÙ ÎÁÂÒÁÎÎÏÇÏ ÃÉÆÒÏ×ÏÇÏ ÁÒÇÕÍÅÎÔÁ @@ -278,7 +279,7 @@ C-n, îÅËÏÔÏÒÙÅ ËÏÍÁÎÄÙ Emacs "ÚÁÐÒÅÝÅÎÙ", ÐÏÓËÏÌØËÕ ÎÁÞÉÎÁÀÝÉÅ ÐÏÌØÚÏ×ÁÔÅÌÉ ÍÏÇÕÔ ÓÌÕÞÁÊÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÉÈ ÄÌÑ ÓÏ×ÅÒÛÅÎÉÑ ÏÐÁÓÎÙÈ ÄÅÊÓÔ×ÉÊ. -åÓÌÉ ×Ù ÎÁÂÒÁÌÉ ÏÄÎÕ ÉÚ ÚÁÐÒÅÝÅÎÎÙÈ ËÏÍÁÎÄ, ÔÏ Emacs ÐÏËÁÖÅÔ ÓÏÏÂÝÅÎÉÅ +åÓÌÉ ×Ù ÎÁÂÒÁÌÉ ÏÄÎÕ ÉÚ ÚÁÐÒÅÝÅÎÎÙÈ ËÏÍÁÎÄ, ÔÏ Emacs ÐÏËÁÖÅÔ ÓÏÏÂÝÅÎÉÅ, ÇÏ×ÏÒÑÝÅÅ Ï ÔÏÍ, ËÁËÁÑ ËÏÍÁÎÄÁ ×ÙÚÙ×ÁÅÔÓÑ, É ÚÁÐÒÏÓÉÔ Õ ×ÁÓ, ÈÏÔÉÔÅ ÌÉ ×Ù ÐÒÏÄÏÌÖÁÔØ ÒÁÂÏÔÕ É ×ÙÐÏÌÎÑÔØ ÄÁÎÎÕÀ ËÏÍÁÎÄÕ. @@ -294,13 +295,13 @@ C-n, ------ Emacs ÍÏÖÅÔ ÏÔÏÂÒÁÖÁÔØ ÉÎÆÏÒÍÁÃÉÀ × ÎÅÓËÏÌØËÉÈ ÏËÎÁÈ, ËÁÖÄÏÅ ÉÚ ËÏÔÏÒÙÈ -ÏÔÏÂÒÁÖÁÅÔ Ó×ÏÊ ÔÅËÓÔ. ðÏÚÖÅ ÍÙ ÏÂßÑÓÎÉÍ ËÁË ÒÁÂÏÔÁÔØ Ó ÎÅÓËÏÌØËÉÍÉ ÏËÎÁÍÉ. -ðÒÑÍÏ ÓÅÊÞÁÓ ÍÙ ÈÏÔÉÍ ÏÂßÑÓÎÉÔØ ×ÁÍ ËÁË ÉÚÂÁ×ÌÑÔØÓÑ ÏÔ ÌÉÛÎÉÈ ÏËÏÎ É -×ÅÒÎÕÔØÓÑ Ë ÒÅÄÁËÔÉÒÏ×ÁÎÉÀ × ÏÄÎÏÍ ÏËÎÅ. üÔÏ ÏÞÅÎØ ÐÒÏÓÔÏ ÓÄÅÌÁÔØ: +ÏÔÏÂÒÁÖÁÅÔ Ó×ÏÊ ÔÅËÓÔ. ðÏÚÖÅ ÍÙ ÏÂßÑÓÎÉÍ ËÁË ÒÁÂÏÔÁÔØ Ó ÎÅÓËÏÌØËÉÍÉ ÏËÎÁÍÉ. +á ÓÅÊÞÁÓ ÍÙ ÈÏÔÉÍ ÏÂßÑÓÎÉÔØ ×ÁÍ ËÁË ÉÚÂÁ×ÌÑÔØÓÑ ÏÔ ÌÉÛÎÉÈ ÏËÏÎ É +×ÅÒÎÕÔØÓÑ Ë ÒÅÄÁËÔÉÒÏ×ÁÎÉÀ × ÏÄÎÏÍ ÏËÎÅ. üÔÏ ÏÞÅÎØ ÐÒÏÓÔÏ ÓÄÅÌÁÔØ: C-x 1 ïÄÎÏ ÏËÎÏ. (ÚÁËÒÙÔØ ×ÓÅ ÄÒÕÇÉÅ ÏËÎÁ). -üÔÏ CONTROL-x ÓÏ ÓÌÅÄÕÀÝÅÊ ÃÉÆÒÏÊ 1. C-x 1 ÒÁÚ×ÅÒÎÅÔ ÏËÎÏ, ËÏÔÏÒÏÅ ÓÏÄÅÒÖÉÔ +üÔÏ CONTROL-x ÓÏ ÓÌÅÄÕÀÝÅÊ ÃÉÆÒÏÊ 1. C-x 1 ÒÁÚ×ÅÒÎÅÔ ÏËÎÏ, ËÏÔÏÒÏÅ ÓÏÄÅÒÖÉÔ ËÕÒÓÏÒ, ÔÁË, ÞÔÏÂÙ ÏÎÏ ÚÁÎÑÌÏ ×ÅÓØ ÜËÒÁÎ. ðÒÉ ÜÔÏÍ ÂÕÄÕÔ ÕÄÁÌÅÎÙ ×ÓÅ ÏÓÔÁÌØÎÙÅ ÏËÎÁ. @@ -322,24 +323,24 @@ Emacs * ÷óôá÷ëá é õäáìåîéå -------------------- -åÓÌÉ ×Ù ÈÏÔÉÔÅ ×ÓÔÁ×ÉÔØ ÔÅËÓÔ, ÔÏ ÐÒÏÓÔÏ ÎÁÂÉÒÁÊÔÅ ÅÇÏ. óÉÍ×ÏÌÙ, ËÏÔÏÒÙÅ ×Ù +åÓÌÉ ×Ù ÈÏÔÉÔÅ ×ÓÔÁ×ÉÔØ ÔÅËÓÔ, ÔÏ ÐÒÏÓÔÏ ÎÁÂÉÒÁÊÔÅ ÅÇÏ. óÉÍ×ÏÌÙ, ËÏÔÏÒÙÅ ×Ù ÍÏÖÅÔÅ ×ÉÄÅÔØ, ÔÁËÉÅ ËÁË A, 7, *, É ÐÒ. ÐÏÎÉÍÁÀÔÓÑ Emacs'ÏÍ ËÁË ÔÅËÓÔ É -×ÓÔÁ×ÌÑÀÔÓÑ ÎÅÍÅÄÌÅÎÎÏ. îÁÖÍÉÔÅ (ËÎÏÐËÁ ÐÅÒÅ×ÏÄÁ ËÁÒÅÔËÉ) ÞÔÏÂÙ +×ÓÔÁ×ÌÑÀÔÓÑ ÎÅÍÅÄÌÅÎÎÏ. îÁÖÍÉÔÅ (ËÌÁ×ÉÛÁ ÐÅÒÅ×ÏÄÁ ËÁÒÅÔËÉ), ÞÔÏÂÙ ×ÓÔÁ×ÉÔØ ÓÉÍ×ÏÌ ÎÏ×ÏÊ ÓÔÒÏËÉ. -÷Ù ÍÏÖÅÔÅ ÕÄÁÌÉÔØ ÎÁÂÒÁÎÎÙÊ ÓÉÍ×ÏÌ ÎÁÖÉÍÁÑ ËÌÁ×ÉÛÕ . -- +÷Ù ÍÏÖÅÔÅ ÕÄÁÌÉÔØ ÎÁÂÒÁÎÎÙÊ ÓÉÍ×ÏÌ, ÎÁÖÉÍÁÑ ËÌÁ×ÉÛÕ . -- ÜÔÏ ËÌÁ×ÉÛÁ ÎÁ ËÌÁ×ÉÁÔÕÒÅ, ËÏÔÏÒÕÀ ×Ù ÉÓÐÏÌØÚÕÅÔÅ É ×ÎÅ Emacs ÄÌÑ ÕÄÁÌÅÎÉÑ -ÐÏÓÌÅÄÎÅÇÏ ÎÁÂÒÁÎÎÏÇÏ ÓÉÍ×ÏÌÁ. ïÂÙÞÎÏ, ÜÔÏ ÂÏÌØÛÁÑ ËÌÁ×ÉÛÁ, ÒÁÓÐÏÌÏÖÅÎÎÁÑ -ÎÁ ÎÅÓËÏÌØËÏ ÓÔÒÏË ×ÙÛÅ ËÌÁ×ÉÛÉ ; ÏÂÙÞÎÏ ÏÎÁ ÐÏÍÅÞÅÎÁ ËÁË "Delete", -"Del" ÉÌÉ "Backspace". +ÐÏÓÌÅÄÎÅÇÏ ÎÁÂÒÁÎÎÏÇÏ ÓÉÍ×ÏÌÁ. ïÂÙÞÎÏ ÜÔÏ ÂÏÌØÛÁÑ ËÌÁ×ÉÛÁ, ÒÁÓÐÏÌÏÖÅÎÎÁÑ +ÎÅÓËÏÌØËÏ ×ÙÛÅ ËÌÁ×ÉÛÉ ; ÏÂÙÞÎÏ ÏÎÁ ÐÏÍÅÞÅÎÁ ËÁË "Delete", "Del" +ÉÌÉ "Backspace". åÓÌÉ ÂÏÌØÛÁÑ ËÌÁ×ÉÛÁ ÐÏÍÅÞÅÎÁ ËÁË "Backspace", ÔÏ ÜÔÏ ÔÏ, ÞÔÏ ×ÁÍ ÎÕÖÎÏ -ÉÓÐÏÌØÚÏ×ÁÔØ ÔÏÇÄÁ, ËÏÇÄÁ ×Ù ÂÕÄÅÔÅ ÞÉÔÁÔØ ÐÒÏ . õ ×ÁÓ ÔÁËÖÅ ÍÏÖÅÔ -ÂÙÔØ ËÌÁ×ÉÛÁ, ÐÏÍÅÞÅÎÎÁÑ ËÁË "Delete", ÎÏ ÏÎÁ ÉÍÅÅÔ ÄÒÕÇÕÀ ÆÕÎËÃÉÀ, ÏÔÌÉÞÎÕÀ -ÏÔ . +ÉÓÐÏÌØÚÏ×ÁÔØ ÔÏÇÄÁ, ËÏÇÄÁ ×Ù ÂÕÄÅÔÅ ÞÉÔÁÔØ ÐÒÏ . åÓÌÉ Õ ×ÁÓ Ë ÔÏÍÕ +ÖÅ ÅÓÔØ É ËÌÁ×ÉÛÁ, ÐÏÍÅÞÅÎÎÁÑ ËÁË "Delete", ÎÏ ÏÎÁ ÉÍÅÅÔ ÄÒÕÇÕÀ ÆÕÎËÃÉÀ, +ÏÔÌÉÞÎÕÀ ÏÔ . -÷ ÏÓÎÏ×ÎÏÍ, ÕÄÁÌÑÅÔ ÓÉÍ×ÏÌ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ ÐÅÒÅÄ ÔÅËÕÝÅÊ ÐÏÚÉÃÉÅÊ -ËÕÒÓÏÒÁ. +÷ÏÏÂÝÅ ÇÏ×ÏÒÑ, ÕÄÁÌÑÅÔ ÓÉÍ×ÏÌ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ ÐÅÒÅÄ ÔÅËÕÝÅÊ +ÐÏÚÉÃÉÅÊ ËÕÒÓÏÒÁ. >> ðÏÐÒÏÂÕÊÔÅ ×ÙÐÏÌÎÉÔØ ÜÔÏ ÓÅÊÞÁÓ -- ÎÁÂÅÒÉÔÅ ÎÅÓËÏÌØËÏ ÓÉÍ×ÏÌÏ×, Á ÚÁÔÅÍ ÕÄÁÌÉÔÅ ÉÈ ÎÁÖÉÍÁÑ . îÅ ×ÏÌÎÕÊÔÅÓØ Ï ÉÚÍÅÎÅÎÉÑÈ ÜÔÏÇÏ ÆÁÊÌÁ -- @@ -349,17 +350,17 @@ Emacs "ÐÒÏÄÏÌÖÁÅÔÓÑ" ÎÁ ÓÌÅÄÕÀÝÅÊ ÓÔÒÏËÅ ÜËÒÁÎÁ. óÉÍ×ÏÌ "ÏÂÒÁÔÎÙÊ ÓÌÜÛ" ("\") (ÉÌÉ ÅÓÌÉ ×Ù ÉÓÐÏÌØÚÕÅÔÅ ÏËÏÎÎÕÀ ÓÉÓÔÅÍÕ, ÔÏ ÜÔÏ ÂÕÄÅÔ ÚÎÁÞÏË × ×ÉÄÅ ÍÁÌÅÎØËÏÊ ÉÚÏÇÎÕÔÏÊ ÓÔÒÅÌËÉ) Ó ÐÒÁ×ÏÊ ÇÒÁÎÉÃÙ ÐÏËÁÚÙ×ÁÅÔ, ÞÔÏ ÓÔÒÏËÁ ÂÕÄÅÔ -ÐÒÏÄÏÌÖÁÅÔÓÑ Ó ÐÒÅÄÙÄÕÝÅÊ ÓÔÒÏËÉ. +ÐÒÏÄÏÌÖÁÔØÓÑ Ó ÐÒÅÄÙÄÕÝÅÊ ÓÔÒÏËÉ. >> ÷×ÏÄÉÔÅ ÔÅËÓÔ, ÐÏËÁ ÏÎ ÎÅ ÄÏÓÔÉÇÎÅÔ ÐÒÁ×ÏÊ ÇÒÁÎÉÃÙ, É ÐÒÏÄÏÌÖÁÊÔÅ ×ÓÔÁ×ËÕ - ÓÉÍ×ÏÌÏ×. ÷Ù Õ×ÉÄÉÔÅ, ËÁË ÐÏÑ×ÉÔÓÑ ÓÉÍ×ÏÌ ÐÒÏÄÏÌÖÅÎÉÑ ÓÔÒÏËÉ. + ÓÉÍ×ÏÌÏ×. ÷Ù Õ×ÉÄÉÔÅ, ËÁË ÐÏÑ×ÉÔÓÑ ÓÉÍ×ÏÌ ÐÒÏÄÏÌÖÅÎÉÑ ÓÔÒÏËÉ. ->> éÓÐÏÌØÚÕÊÔÅ ÄÌÑ ÕÄÁÌÅÎÉÑ ÔÅËÓÔÁ, ÄÏ ÔÅÈ ÐÏÒ, ÐÏËÁ ÓÔÒÏËÁ ÎÅ - ÐÏÍÅÓÔÉÔÓÑ × ÜËÒÁÎ ÓÎÏ×Á. óÉÍ×ÏÌ ÐÒÏÄÏÌÖÅÎÉÑ ÓÔÒÏËÉ ÉÓÞÅÚÎÅÔ Ó ÜËÒÁÎÁ. +>> éÓÐÏÌØÚÕÊÔÅ ÄÌÑ ÕÄÁÌÅÎÉÑ ÔÅËÓÔÁ ÄÏ ÔÅÈ ÐÏÒ, ÐÏËÁ ÓÔÒÏËÁ ÎÅ + ÐÏÍÅÓÔÉÔÓÑ × ÜËÒÁÎ ÓÎÏ×Á. óÉÍ×ÏÌ ÐÒÏÄÏÌÖÅÎÉÑ ÓÔÒÏËÉ ÉÓÞÅÚÎÅÔ Ó ÜËÒÁÎÁ. óÉÍ×ÏÌ ÎÏ×ÏÊ ÓÔÒÏËÉ ÍÏÖÎÏ ÕÄÁÌÑÔØ ÔÏÞÎÏ ÔÁË ÖÅ, ËÁË É ÌÀÂÏÊ ÄÒÕÇÏÊ ÓÉÍ×ÏÌ. õÄÁÌÅÎÉÅ ÓÉÍ×ÏÌÁ ÎÏ×ÏÊ ÓÔÒÏËÉ ÍÅÖÄÕ Ä×ÕÍÑ ÓÔÒÏËÁÍÉ ÐÒÉ×ÅÄÅÔ Ë ÉÈ ÓËÌÅÊËÅ × -ÏÄÎÕ. åÓÌÉ ÐÏÌÕÞÅÎÎÁÑ ÓÔÒÏËÁ ÂÕÄÅÔ ÓÌÉÛËÏÍ ÄÌÉÎÎÏÊ, ÞÔÏÂÙ ×ÍÅÓÔÉÔØÓÑ × +ÏÄÎÕ. åÓÌÉ ÐÏÌÕÞÅÎÎÁÑ ÓÔÒÏËÁ ÂÕÄÅÔ ÓÌÉÛËÏÍ ÄÌÉÎÎÏÊ, ÞÔÏÂÙ ×ÍÅÓÔÉÔØÓÑ × ÜËÒÁÎ, ÔÏ ÏÎÁ ÂÕÄÅÔ ÏÔÏÂÒÁÖÅÎÁ ËÁË ÓÔÒÏËÁ Ó ÐÒÏÄÏÌÖÅÎÉÅÍ, ËÁË ÜÔÏ ÂÙÌÏ ÏÐÉÓÁÎÏ ×ÙÛÅ. @@ -375,28 +376,28 @@ Emacs >> ðÏÐÒÏÂÕÊÔÅ ÐÒÏ×ÅÒÉÔØ ÜÔÏ -- ÎÁÂÅÒÉÔÅ C-u 8 * ÄÌÑ ×ÓÔÁ×ËÉ ********. -ôÅÐÅÒØ ×Ù ÎÁÕÞÉÌÉÓØ ÏÓÎÏ×ÁÍ ÎÁÂÏÒÁ ÔÅËÓÔÁ × Emacs É ÉÓÐÒÁ×ÌÅÎÉÑ ÏÛÉÂÏË. ÷Ù -ÔÁËÖÅ ÍÏÖÅÔÅ ÕÄÁÌÑÔØ ÓÌÏ×Á É ÓÔÒÏËÉ. úÄÅÓØ ÐÒÉ×ÅÄÅÎ ÓÐÉÓÏË ÏÐÅÒÁÃÉÊ +ôÅÐÅÒØ ×Ù ÎÁÕÞÉÌÉÓØ ÏÓÎÏ×ÁÍ ÎÁÂÏÒÁ ÔÅËÓÔÁ × Emacs É ÉÓÐÒÁ×ÌÅÎÉÑ ÏÛÉÂÏË. ÷Ù +ÔÁËÖÅ ÍÏÖÅÔÅ ÕÄÁÌÑÔØ ÓÌÏ×Á É ÓÔÒÏËÉ. úÄÅÓØ ÐÒÉ×ÅÄÅÎ ÓÐÉÓÏË ÏÐÅÒÁÃÉÊ ÕÄÁÌÅÎÉÑ: ÕÄÁÌÉÔØ ÓÉÍ×ÏÌ ÐÅÒÅÄ ËÕÒÓÏÒÏÍ - C-d ÕÄÁÌÉÔØ ÓÉÍ×ÏÌ ÓÌÅÄÕÀÝÉÊ ÚÁ (ÎÁÄ) ËÕÒÓÏÒÏÍ + C-d ÕÄÁÌÉÔØ ÓÉÍ×ÏÌ ÓÌÅÄÕÀÝÉÊ ÚÁ (ÎÁÄ) ËÕÒÓÏÒÏÍ - M- õÂÉÔØ ÓÔÒÏËÕ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ ÐÅÒÅÄ ËÕÒÓÏÒÏÍ - M-d õÂÉÔØ ÓÌÏ×Ï ÓÌÅÄÕÀÝÅÅ ÚÁ ËÕÒÓÏÒÏÍ + M- ÕÂÉÔØ ÓÌÏ×Ï, ÓÔÏÑÝÅÅ ÐÅÒÅÄ ËÕÒÓÏÒÏÍ + M-d ÕÂÉÔØ ÓÌÏ×Ï, ÓÌÅÄÕÀÝÅÅ ÚÁ ËÕÒÓÏÒÏÍ - C-k õÂÉÔØ ×ÓÅ ÏÔ ËÕÒÓÏÒÁ ÄÏ ËÏÎÃÁ ÓÔÒÏËÉ - M-k õÂÉÔØ ×ÓÅ ÄÏ ËÏÎÃÁ ÐÒÅÄÌÏÖÅÎÉÑ + C-k ÕÂÉÔØ ×ÓÅ ÏÔ ËÕÒÓÏÒÁ ÄÏ ËÏÎÃÁ ÓÔÒÏËÉ + M-k ÕÂÉÔØ ×ÓÅ ÄÏ ËÏÎÃÁ ÐÒÅÄÌÏÖÅÎÉÑ úÁÍÅÔØÔÅ, ÞÔÏ É C-d, ×ÍÅÓÔÅ Ó M- É M-d ÒÁÓÛÉÒÑÀÔ ÐÁÒÁÌÌÅÌØ, ÎÁÞÁÔÕÀ C-f É M-f (ÄÁ, -- ÜÔÏ ÎÅ ÎÁÓÔÏÑÝÉÊ ÕÐÒÁ×ÌÑÀÝÉÊ ÓÉÍ×ÏÌ, ÎÏ ÎÅ ÎÕÖÎÏ Ï ÜÔÏÍ ×ÏÌÎÏ×ÁÔØÓÑ). C-k É M-k, ËÁË É C-e É M-e, ÐÒÏ×ÏÄÑÔ ÐÁÒÁÌÌÅÌØ ÍÅÖÄÕ ÓÔÒÏËÁÍÉ É ÐÒÅÄÌÏÖÅÎÉÑÍÉ. -÷Ù ÍÏÖÅÔÅ ÕÄÁÌÉÔØ ÌÀÂÕÀ ÞÁÓÔØ ÂÕÆÅÒÁ ÏÄÎÉÍ ÍÅÔÏÄÏÍ. ðÅÒÅÍÅÓÔÉÔÅÓØ ÎÁ ÏÄÉÎ +÷Ù ÍÏÖÅÔÅ ÕÂÉÔØ ÌÀÂÕÀ ÞÁÓÔØ ÂÕÆÅÒÁ ÏÄÎÉÍ ÍÅÔÏÄÏÍ. ðÅÒÅÍÅÓÔÉÔÅÓØ ÎÁ ÏÄÉÎ ÉÚ ËÏÎÃÏ× ×ÙÂÒÁÎÎÏÊ ÏÂÌÁÓÔÉ É ÎÁÖÍÉÔÅ C-@ ÉÌÉ C- (ÏÄÎÏ ÉÚ ÜÔÉÈ -ÓÏÞÅÔÁÎÉÊ). úÄÅÓØ ÏÂÏÚÎÁÞÁÅÔ ËÌÁ×ÉÛÕ ÐÒÏÂÅÌÁ. ðÅÒÅÍÅÓÔÉÔÅÓØ ÎÁ ÄÒÕÇÏÊ -ËÏÎÅà ÏÂÌÁÓÔÉ É ÎÁÖÍÉÔÅ C-w. üÔÁ ÏÐÅÒÁÃÉÑ ÕÄÁÌÉÔ ×ÅÓØ ÔÅËÓÔ ÍÅÖÄÕ Ä×ÕÍÑ +ÓÏÞÅÔÁÎÉÊ). úÄÅÓØ ÏÂÏÚÎÁÞÁÅÔ ËÌÁ×ÉÛÕ ÐÒÏÂÅÌÁ. ðÅÒÅÍÅÓÔÉÔÅÓØ ÎÁ ÄÒÕÇÏÊ +ËÏÎÅà ÏÂÌÁÓÔÉ É ÎÁÖÍÉÔÅ C-w. üÔÁ ÏÐÅÒÁÃÉÑ ÕÂØÅÔ ×ÅÓØ ÔÅËÓÔ ÍÅÖÄÕ Ä×ÕÍÑ ÕËÁÚÁÎÎÙÍÉ ÐÏÚÉÃÉÑÍÉ. >> ðÅÒÅÍÅÓÔÉÔÅ ËÕÒÓÏÒ Ë ÂÕË×Å ÷ × ÎÁÞÁÌÅ ÐÒÅÄÙÄÕÝÅÇÏ ÐÁÒÁÇÒÁÆÁ. @@ -423,52 +424,52 @@ Emacs ÓÔÒÏËÉ, ËÏÔÏÒÙÊ ÓÌÅÄÕÅÔ ÚÁ ÜÔÏÊ ÓÔÒÏËÏÊ. úÁÍÅÔØÔÅ, ÞÔÏ ÐÅÒ×ÏÅ ×ÙÐÏÌÎÅÎÉÅ C-k ÕÂÉ×ÁÅÔ ÓÏÄÅÒÖÉÍÏÅ ÓÔÒÏËÉ, Á ×ÔÏÒÏÊ -×ÙÚÏ× C-k ÕÂÉ×ÁÅÔ ÓÁÍÕ ÓÔÒÏËÕ É ÐÏÄÎÉÍÁÅÔ ÄÒÕÇÉÅ ÓÔÒÏËÉ ××ÅÒÈ. C-k +×ÙÚÏ× C-k ÕÂÉ×ÁÅÔ ÓÁÍÕ ÓÔÒÏËÕ É ÐÏÄÎÉÍÁÅÔ ÄÒÕÇÉÅ ÓÔÒÏËÉ ××ÅÒÈ. C-k ÏÂÒÁÂÁÔÙ×ÁÅÔ ÞÉÓÌÏ×ÏÊ ÁÒÇÕÍÅÎÔ ÓÐÅÃÉÁÌØÎÙÍ ÏÂÒÁÚÏÍ -- ÕÂÉ×ÁÅÔ ÚÁÄÁÎÎÏÅ -ËÏÌÉÞÅÓÔ×Ï ÓÔÒÏË _é_ ÉÈ ÓÏÄÅÒÖÉÍÏÅ. üÔÏ ÎÅ ÐÒÏÓÔÏ ÐÏ×ÔÏÒÅÎÉÅ ËÏÍÁÎÄÙ. C-u 2 +ËÏÌÉÞÅÓÔ×Ï ÓÔÒÏË _é_ ÉÈ ÓÏÄÅÒÖÉÍÏÅ. üÔÏ ÎÅ ÐÒÏÓÔÏ ÐÏ×ÔÏÒÅÎÉÅ ËÏÍÁÎÄÙ. C-u 2 C-k ÕÄÁÌÉÔ Ä×Å ÓÔÒÏËÉ, Á ÔÁËÖÅ ÚÁ×ÅÒÛÁÀÝÉÅ ÉÈ ÓÉÍ×ÏÌÙ ÎÏ×ÏÊ ÓÔÒÏËÉ; Ä×ÕÈÒÁÚÏ×ÏÅ ×ÙÐÏÌÎÅÎÉÅ C-k ÎÅ ÓÄÅÌÁÅÔ ÜÔÏÇÏ. ÷ÏÚ×ÒÁÔ ÕÂÉÔÏÇÏ ÒÁÎÅÅ ÔÅËÓÔÁ ÎÁÚÙ×ÁÅÔÓÑ "×ÏÓÓÔÁÎÏ×ÌÅÎÉÅ (yanking)". (äÕÍÁÊÔÅ -Ï ÜÔÏÍ, ËÁË Ï ×ÏÓÓÔÁÎÏ×ÌÅÎÉÉ ÉÌÉ ÐÏÍÅÝÅÎÉÉ ÎÁÚÁÄ, ÎÅËÏÔÏÒÏÇÏ ×ÚÑÔÏÇÏ -ÔÅËÓÔÁ). ÷Ù ÍÏÖÅÔÅ ×ÏÓÓÔÁÎÏ×ÉÔØ ÕÄÁÌÅÎÎÙÊ ÔÅËÓÔ × ÍÅÓÔÅ ÕÄÁÌÅÎÉÑ, ÉÌÉ × -ÌÀÂÏÊ ÄÒÕÇÏÊ ÔÏÞËÅ ÒÅÄÁËÔÉÒÕÅÍÏÇÏ ÔÅËÓÔÁ, ÉÌÉ ÄÁÖÅ × ÄÒÕÇÏÍ ÆÁÊÌÅ. ÷Ù +Ï ÜÔÏÍ, ËÁË Ï ×ÏÓÓÔÁÎÏ×ÌÅÎÉÉ ÉÌÉ ÐÏÍÅÝÅÎÉÉ ÎÁÚÁÄ ÎÅËÏÔÏÒÏÇÏ ×ÚÑÔÏÇÏ +ÔÅËÓÔÁ). ÷Ù ÍÏÖÅÔÅ ×ÏÓÓÔÁÎÏ×ÉÔØ ÕÂÉÔÙÊ ÔÅËÓÔ × ÍÅÓÔÅ ÕÄÁÌÅÎÉÑ ÉÌÉ × +ÌÀÂÏÊ ÄÒÕÇÏÊ ÔÏÞËÅ ÒÅÄÁËÔÉÒÕÅÍÏÇÏ ÔÅËÓÔÁ ÉÌÉ ÄÁÖÅ × ÄÒÕÇÏÍ ÆÁÊÌÅ. ÷Ù ÍÏÖÅÔÅ ×ÏÓÓÔÁÎÏ×ÉÔØ ÔÅËÓÔ ÎÅÓËÏÌØËÏ ÒÁÚ É ÐÏÌÕÞÉÔØ ÎÅÓËÏÌØËÏ ËÏÐÉÊ ÄÁÎÎÏÇÏ ÔÅËÓÔÁ. -äÌÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ ÕÂÉÔÏÇÏ ÔÅËÓÔÁ ÉÓÐÏÌØÚÕÅÔÓÑ ÓÏÞÅÔÁÎÉÅ ËÌÁ×ÉÛ C-y. äÁÎÎÁÑ +äÌÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ ÕÂÉÔÏÇÏ ÔÅËÓÔÁ ÉÓÐÏÌØÚÕÅÔÓÑ ÓÏÞÅÔÁÎÉÅ ËÌÁ×ÉÛ C-y. äÁÎÎÁÑ ËÏÍÁÎÄÁ ×ÏÓÓÔÁÎÁ×ÌÉ×ÁÅÔ ÐÏÓÌÅÄÎÉÊ ÕÂÉÔÙÊ ÔÅËÓÔ × ÔÏÞËÅ ÒÁÓÐÏÌÏÖÅÎÉÑ ËÕÒÓÏÒÁ. >> ðÏÐÒÏÂÕÊÔÅ ×ÙÐÏÌÎÉÔØ ÜÔÕ ËÏÍÁÎÄÕ -- ÎÁÂÅÒÉÔÅ C-y, ÞÔÏÂÙ ×ÅÒÎÕÔØ ÔÅËÓÔ ÎÁÚÁÄ. ðÏÍÎÉÔÅ, ÞÔÏ ÅÓÌÉ ×Ù ÉÓÐÏÌØÚÏ×ÁÌÉ ÎÅÓËÏÌØËÏ ËÏÍÁÎÄ C-k × ÏÄÎÏÊ ÓÔÒÏËÅ, ÔÏ -×ÓÅ ÕÂÉÔÙÅ ÓÔÒÏËÉ ÂÕÄÕÔ ÓÏÈÒÁÎÅÎÙ ×ÍÅÓÔÅ, ÔÁË, ÞÔÏ C-y ÔÁËÖÅ ×ÏÓÓÔÁÎÏ×ÉÔ ÉÈ +×ÓÅ ÕÂÉÔÙÅ ÓÔÒÏËÉ ÂÕÄÕÔ ÓÏÈÒÁÎÅÎÙ ×ÍÅÓÔÅ ÔÁË, ÞÔÏ C-y ÔÁËÖÅ ×ÏÓÓÔÁÎÏ×ÉÔ ÉÈ ×ÍÅÓÔÅ. >> ðÏÐÒÏÂÕÊÔÅ ×ÙÐÏÌÎÉÔØ ÜÔÏ ÓÅÊÞÁÓ -- ÎÁÖÍÉÔÅ C-k ÎÅÓËÏÌØËÏ ÒÁÚ. ôÅÐÅÒØ ×ÅÒÎÅÍ ÕÂÉÔÙÊ ÔÅËÓÔ: ->> îÁÖÍÉÔÅ C-y. ôÅÐÅÒØ ÐÅÒÅÍÅÓÔÉÔÅ ËÕÒÓÏÒ ÎÁ ÎÅÓËÏÌØËÏ ÓÔÒÏË ×ÎÉÚ, É ÓÎÏ×Á - ÎÁÖÍÉÔÅ C-y. óÅÊÞÁÓ ×Ù ×ÉÄÉÔÅ ËÁË ÍÏÖÎÏ ÓËÏÐÉÒÏ×ÁÔØ ÎÅËÏÔÏÒÙÊ ÔÅËÓÔ. +>> îÁÖÍÉÔÅ C-y. ôÅÐÅÒØ ÐÅÒÅÍÅÓÔÉÔÅ ËÕÒÓÏÒ ÎÁ ÎÅÓËÏÌØËÏ ÓÔÒÏË ×ÎÉÚ, É ÓÎÏ×Á + ÎÁÖÍÉÔÅ C-y. óÅÊÞÁÓ ×Ù ×ÉÄÉÔÅ, ËÁË ÍÏÖÎÏ ÓËÏÐÉÒÏ×ÁÔØ ÎÅËÏÔÏÒÙÊ ÔÅËÓÔ. þÔÏ ÄÅÌÁÔØ, ÅÓÌÉ ÅÓÔØ ÎÅËÏÔÏÒÙÊ ÔÅËÓÔ, ËÏÔÏÒÙÊ ×Ù ÈÏÔÉÔÅ ×ÅÒÎÕÔØ ÎÁÚÁÄ, Á ÐÏÔÏÍ ÕÂÉÔØ ÞÔÏ-ÔÏ ÅÝÅ? ïÄÎÏ ÎÁÖÁÔÉÅ C-y ×ÅÒÎÅÔ ÔÏÌØËÏ ÐÏÓÌÅÄÎÉÊ ÕÄÁÌÅÎÎÙÊ -ÔÅËÓÔ. îÏ ÐÒÅÄÙÄÕÝÉÊ ÔÅËÓÔ ÎÅ ÂÕÄÅÔ ÐÏÔÅÒÑÎ -- ×Ù ÓÍÏÖÅÔÅ ÅÇÏ ×ÅÒÎÕÔØ -ÎÁÚÁÄ, ÉÓÐÏÌØÚÕÑ ËÏÍÁÎÄÕ M-y. ðÏÓÌÅ ÔÏÇÏ, ËÁË ×Ù ×ÅÒÎÕÌÉ ÐÏÓÌÅÄÎÉÊ -ÕÄÁÌÅÎÎÙÊ ÔÅËÓÔ, ÎÁÖÍÉÔÅ M-y, É ÚÁÍÅÎÉÔÅ ÜÔÏÔ ×ÏÓÓÔÁÎÏ×ÌÅÎÎÙÊ ÔÅËÓÔ ÔÅÍ, -ËÏÔÏÒÙÊ ÂÙÌ ÕÂÉÔ ÒÁÎÅÅ. îÁÖÉÍÁÑ M-y ÓÎÏ×Á É ÓÎÏ×Á, ×Ù ÂÕÄÅÔÅ ×ÏÚ×ÒÁÝÁÔØ -ÒÁÎÅÅ ÕÂÉÔÙÅ ÞÁÓÔÉ ÔÅËÓÔÁ. ëÏÇÄÁ ×Ù ÄÏÓÔÉÇÎÉÔÅ ÉÓËÏÍÏÇÏ ÔÅËÓÔÁ, ÔÏ ×ÁÍ ÎÅ -ÎÕÖÎÏ ÄÅÌÁÔØ ÎÉÞÅÇÏ ÞÔÏÂÙ ÓÏÈÒÁÎÉÔØ ÅÇÏ. ðÒÏÓÔÏ ÐÒÏÄÏÌÖÁÊÔÅ ÒÁÂÏÔÁÔØ, +ÔÅËÓÔ. îÏ ÐÒÅÄÙÄÕÝÉÊ ÔÅËÓÔ ÎÅ ÂÕÄÅÔ ÐÏÔÅÒÑÎ -- ×Ù ÓÍÏÖÅÔÅ ÅÇÏ ×ÅÒÎÕÔØ +ÎÁÚÁÄ, ÉÓÐÏÌØÚÕÑ ËÏÍÁÎÄÕ M-y. ðÏÓÌÅ ÔÏÇÏ ËÁË ×Ù ×ÅÒÎÕÌÉ ÐÏÓÌÅÄÎÉÊ +ÕÄÁÌÅÎÎÙÊ ÔÅËÓÔ, ÎÁÖÍÉÔÅ M-y É ÚÁÍÅÎÉÔÅ ÜÔÏÔ ×ÏÓÓÔÁÎÏ×ÌÅÎÎÙÊ ÔÅËÓÔ ÔÅÍ, +ËÏÔÏÒÙÊ ÂÙÌ ÕÂÉÔ ÒÁÎÅÅ. îÁÖÉÍÁÑ M-y ÓÎÏ×Á É ÓÎÏ×Á, ×Ù ÂÕÄÅÔÅ ×ÏÚ×ÒÁÝÁÔØ +ÒÁÎÅÅ ÕÂÉÔÙÅ ÞÁÓÔÉ ÔÅËÓÔÁ. ëÏÇÄÁ ×Ù ÄÏÓÔÉÇÎÅÔÅ ÉÓËÏÍÏÇÏ ÔÅËÓÔÁ, ÔÏ ×ÁÍ ÎÅ +ÎÕÖÎÏ ÄÅÌÁÔØ ÎÉÞÅÇÏ, ÞÔÏÂÙ ÓÏÈÒÁÎÉÔØ ÅÇÏ. ðÒÏÓÔÏ ÐÒÏÄÏÌÖÁÊÔÅ ÒÁÂÏÔÁÔØ, ÏÓÔÁ×É× ×ÏÓÓÔÁÎÏ×ÌÅÎÎÙÊ ÔÅËÓÔ ÔÁÍ, ÇÄÅ ÏÎ ÅÓÔØ. îÁÖÉÍÁÑ M-y ÄÏÓÔÁÔÏÞÎÏÅ ÞÉÓÌÏ ÒÁÚ, ×Ù ÍÏÖÅÔÅ ×ÅÒÎÕÔØÓÑ × ÎÁÞÁÌØÎÕÀ ÔÏÞËÕ (ÎÁÉÂÏÌÅÅ ÒÁÎÎÅÅ ÕÄÁÌÅÎÉÅ). ->> õÂÅÊÔÅ ÓÔÒÏËÕ, ÐÅÒÅÍÅÓÔÉÔÅ ËÕÒÓÏÒ, É ÕÄÁÌÉÔÅ ÅÝÅ ÏÄÎÕ ÓÔÒÏËÕ. úÁÔÅÍ +>> õÂÅÊÔÅ ÓÔÒÏËÕ, ÐÅÒÅÍÅÓÔÉÔÅ ËÕÒÓÏÒ É ÕÂÅÊÔÅ ÅÝÅ ÏÄÎÕ ÓÔÒÏËÕ. úÁÔÅÍ ÉÓÐÏÌØÚÕÊÔÅ C-y ÄÌÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ ×ÔÏÒÏÊ ÕÂÉÔÏÊ ÓÔÒÏËÉ, Á ÚÁÔÅÍ ÎÁÖÍÉÔÅ - M-y, É ÏÎÁ ÂÕÄÅÔ ÚÁÍÅÎÅÎÁ ÐÅÒ×ÏÊ ÕÂÉÔÏÊ ÓÔÒÏËÏÊ. îÁÖÍÉÔÅ M-y ÅÝÅ + M-y, É ÏÎÁ ÂÕÄÅÔ ÚÁÍÅÎÅÎÁ ÐÅÒ×ÏÊ ÕÂÉÔÏÊ ÓÔÒÏËÏÊ. îÁÖÍÉÔÅ M-y ÅÝÅ ÎÅÓËÏÌØËÏ ÒÁÚ, ÞÔÏÂÙ Õ×ÉÄÅÔØ ÐÏÌÕÞÅÎÎÙÊ ÒÅÚÕÌØÔÁÔ. ðÒÏÄÏÌÖÁÊÔÅ ×ÙÐÏÌÎÑÔØ ÜÔÕ ËÏÍÁÎÄÕ ÄÏ ÔÅÈ ÐÏÒ, ÐÏËÁ ×ÔÏÒÁÑ ÕÂÉÔÁÑ ÓÔÒÏËÁ ÎÅ ÂÕÄÅÔ ×ÏÓÓÔÁÎÏ×ÌÅÎÁ ÓÎÏ×Á. åÓÌÉ ×ÁÍ ÈÏÞÅÔÓÑ, ÔÏ ×Ù ÍÏÖÅÔÅ ÚÁÄÁ×ÁÔØ ÐÏÌÏÖÉÔÅÌØÎÙÅ É @@ -486,18 +487,18 @@ C-k C-x u ÎÅÓËÏÌØËÏ ÒÁÚ ÐÏÄÒÑÄ, ÔÏ ËÁÖÄÙÊ ÒÁÚ ÂÕÄÅÔ ÏÔÍÅÎÑÔØÓÑ ÅÝÅ ÏÄÎÁ ËÏÍÁÎÄÁ. îÏ ÅÓÔØ Ä×Á ÉÓËÌÀÞÅÎÉÑ -- ËÏÍÁÎÄÙ ÎÅ ÉÚÍÅÎÑÀÝÉÅ ÔÅËÓÔ, ÎÅ ÕÞÉÔÙ×ÁÀÔÓÑ (ÓÀÄÁ -×ËÌÀÞÁÅÔÓÑ ËÏÍÁÎÄÙ ÐÅÒÅÍÅÝÅÎÉÑ ËÕÒÓÏÒÁ É ÐÒÏËÒÕÔËÉ), É ËÏÍÁÎÄÙ ×ÓÔÁ×ËÉ -ÓÉÍ×ÏÌÏ× ÏÂÒÁÂÁÔÙ×ÁÀÔÓÑ ÇÒÕÐÐÁÍÉ ÄÏ 20 ÓÉÍ×ÏÌÏ×. (üÔÏ ÕÍÅÎØÛÁÅÔ ÞÉÓÌÏ -ÎÁÖÁÔÉÊ C-x u ËÏÔÏÒÙÅ ×ÁÍ ÎÕÖÎÏ ÂÕÄÅÔ ÎÁÂÒÁÔØ ÄÌÑ ÏÔÍÅÎÙ ××ÏÄÁ ÔÅËÓÔÁ). +×ËÌÀÞÁÀÔÓÑ ËÏÍÁÎÄÙ ÐÅÒÅÍÅÝÅÎÉÑ ËÕÒÓÏÒÁ É ÐÒÏËÒÕÔËÉ), É ËÏÍÁÎÄÙ ×ÓÔÁ×ËÉ +ÓÉÍ×ÏÌÏ× ÓÏÂÉÒÁÀÔÓÑ × ÇÒÕÐÐÙ ÄÏ 20 ÓÉÍ×ÏÌÏ×. (üÔÏ ÕÍÅÎØÛÁÅÔ ÞÉÓÌÏ +ÎÁÖÁÔÉÊ C-x u, ËÏÔÏÒÙÅ ×ÁÍ ÎÕÖÎÏ ÂÕÄÅÔ ÎÁÂÒÁÔØ ÄÌÑ ÏÔÍÅÎÙ ××ÏÄÁ ÔÅËÓÔÁ). ->> õÂÅÊÔÅ ÜÔÕ ÓÔÒÏËÕ Ó ÐÏÍÏÝØÀ C-k, Á ÚÁÔÅÍ ÎÁÂÅÒÉÔÅ C-x u É ÓÔÒÏËÁ ÄÏÌÖÎÁ +>> õÂÅÊÔÅ ÜÔÕ ÓÔÒÏËÕ Ó ÐÏÍÏÝØÀ C-k, Á ÚÁÔÅÍ ÎÁÂÅÒÉÔÅ C-x u, É ÓÔÒÏËÁ ÄÏÌÖÎÁ ×ÅÒÎÕÔØÓÑ ÎÁÚÁÄ. -C-_ -- ÜÔÏ ÅÝÅ ËÏÍÁÎÄÁ ÏÔÍÅÎÙ; ÏÎÁ ÒÁÂÏÔÁÅÔ ÔÏÞÎÏ ÔÁËÖÅ ËÁË É C-x u, ÎÏ +C-_ -- ÜÔÏ ÅÝÅ ËÏÍÁÎÄÁ ÏÔÍÅÎÙ; ÏÎÁ ÒÁÂÏÔÁÅÔ ÔÏÞÎÏ ÔÁË ÖÅ, ËÁË É C-x u, ÎÏ ÌÅÇÞÅ × ÉÓÐÏÌØÚÏ×ÁÎÉÉ, ÅÓÌÉ ×ÁÍ ÎÕÖÎÏ ×ÙÐÏÌÎÉÔØ ÅÅ ÎÅÓËÏÌØËÏ ÒÁÚ ÐÏÄÒÑÄ. îÅÕÄÏÂÎÏÅ ÐÏÌÏÖÅÎÉÅ C-_ ÎÁ ÎÅËÏÔÏÒÙÈ ËÌÁ×ÉÁÔÕÒÁÈ ÄÅÌÁÅÔ ÎÅ ÏÞÅ×ÉÄÎÙÍ -ÓÐÏÓÏ ÅÅ ÎÁÂÏÒÁ. ðÏÜÔÏÍÕ ÍÙ ÐÒÅÄÌÁÇÁÅÍ ÉÓÐÏÌØÚÏ×ÁÔØ C-x u. îÁ ÎÅËÏÔÏÒÙÈ -ÔÅÒÍÉÎÁÌÁÈ, ×Ù ÍÏÖÅÔÅ ÎÁÂÉÒÁÔØ C-_, ÎÁÖÉÍÁÑ / É ÕÄÅÒÖÉ×ÁÑ ËÌÁ×ÉÛÕ CONTROL. +ÓÐÏÓÏ ÅÅ ÎÁÂÏÒÁ. ðÏÜÔÏÍÕ ÍÙ ÐÒÅÄÌÁÇÁÅÍ ÉÓÐÏÌØÚÏ×ÁÔØ C-x u. îÁ ÎÅËÏÔÏÒÙÈ +ÔÅÒÍÉÎÁÌÁÈ ×Ù ÍÏÖÅÔÅ ÎÁÂÉÒÁÔØ C-_, ÎÁÖÉÍÁÑ / É ÕÄÅÒÖÉ×ÁÑ ËÌÁ×ÉÛÕ CONTROL. þÉÓÌÏ×ÏÊ ÁÒÇÕÍÅÎÔ ÄÌÑ C-_ ÉÌÉ C-x u ÉÓÐÏÌØÚÕÅÔÓÑ ËÁË ÓÞÅÔÞÉË ÐÏ×ÔÏÒÅÎÉÊ. @@ -510,34 +511,34 @@ C-_ -- ------- þÔÏÂÙ ÓÏÚÄÁÎÎÙÊ ÔÅËÓÔ ÍÏÖÎÏ ÂÙÌÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÐÏÚÖÅ, ×Ù ÄÏÌÖÎÙ ÐÏÍÅÓÔÉÔØ -ÅÇÏ × ÆÁÊÌ. éÎÁÞÅ, ÏÎ ÉÓÞÅÚÎÅÔ, ËÏÇÄÁ ×Ù ÐÏËÉÎÅÔÅ Emacs. ÷Ù ÐÏÍÅÝÁÅÔÅ ×ÁÛ +ÅÇÏ × ÆÁÊÌ. éÎÁÞÅ ÏÎ ÉÓÞÅÚÎÅÔ, ËÏÇÄÁ ×Ù ÐÏËÉÎÅÔÅ Emacs. ÷Ù ÐÏÍÅÝÁÅÔÅ ×ÁÛ ÔÅËÓÔ × ÆÁÊÌ, "ÏÔËÒÙ×ÁÑ" ÆÁÊÌ (üÔÕ ÏÐÅÒÁÃÉÀ ÔÁËÖÅ ÎÁÚÙ×ÁÀÔ "ÐÏÓÅÔÉÔØ" ÆÁÊÌ). -ïÔËÒÙÔØ ÆÁÊÌ ÏÚÎÁÞÁÅÔ ÐÏÓÍÏÔÒÅÔØ ÅÇÏ ÓÏÄÅÒÖÉÍÏÅ, Ó ÐÏÍÏÝØÀ Emacs. ÷Ï ÍÎÏÇÉÈ -ÓÌÕÞÁÑÈ, ÜÔÏ ÐÒÏÉÓÈÏÄÉÔ ÔÏÇÄÁ, ËÏÇÄÁ ×Ù ÒÅÄÁËÔÉÒÕÅÔÅ ÆÁÊÌ ÓÁÍÉ. ïÄÎÁËÏ ×ÁÛÉ -ÉÚÍÅÎÅÎÉÑ, ÓÄÅÌÁÎÎÙÅ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ Emacs ÎÅ ÂÕÄÕÔ ÚÁÆÉËÓÉÒÏ×ÁÎÙ, ÐÏËÁ ×Ù -ÎÅ ÓÏÈÒÁÎÉÔÅ ÆÁÊÌ. ÷Ù ÍÏÖÅÔÅ ÎÅ ÏÓÔÁ×ÌÑÔØ ÞÁÓÔÉÞÎÏ ÉÚÍÅÎÅÎÎÙÊ ÆÁÊÌ × -ÓÉÓÔÅÍÅ, ÅÓÌÉ ×Ù ÎÅ ÈÏÔÉÔÅ ÅÇÏ ÓÏÈÒÁÎÑÔØ. äÁÖÅ ËÏÇÄÁ ×Ù ÓÏÈÒÁÎÑÅÔÅ ÆÁÊÌ, ÔÏ +ïÔËÒÙÔØ ÆÁÊÌ ÏÚÎÁÞÁÅÔ ÐÏÓÍÏÔÒÅÔØ ÅÇÏ ÓÏÄÅÒÖÉÍÏÅ Ó ÐÏÍÏÝØÀ Emacs. ÷Ï ÍÎÏÇÉÈ +ÓÌÕÞÁÑÈ ÜÔÏ ÐÒÏÉÓÈÏÄÉÔ ÔÏÇÄÁ, ËÏÇÄÁ ×Ù ÒÅÄÁËÔÉÒÕÅÔÅ ÆÁÊÌ ÓÁÍÉ. ïÄÎÁËÏ ×ÁÛÉ +ÉÚÍÅÎÅÎÉÑ, ÓÄÅÌÁÎÎÙÅ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ Emacs, ÎÅ ÂÕÄÕÔ ÚÁÆÉËÓÉÒÏ×ÁÎÙ, ÐÏËÁ ×Ù +ÎÅ ÓÏÈÒÁÎÉÔÅ ÆÁÊÌ. ÷Ù ÍÏÖÅÔÅ ÎÅ ÏÓÔÁ×ÌÑÔØ ÞÁÓÔÉÞÎÏ ÉÚÍÅÎÅÎÎÙÊ ÆÁÊÌ × +ÓÉÓÔÅÍÅ, ÅÓÌÉ ×Ù ÎÅ ÈÏÔÉÔÅ ÅÇÏ ÓÏÈÒÁÎÑÔØ. äÁÖÅ ËÏÇÄÁ ×Ù ÓÏÈÒÁÎÑÅÔÅ ÆÁÊÌ, ÔÏ Emacs ÏÓÔÁ×ÌÑÅÔ ÏÒÉÇÉÎÁÌØÎÙÊ ÆÁÊÌ, ÎÏ Ó ÄÒÕÇÉÍ ÉÍÅÎÅÍ, ÔÁË ÞÔÏ ×Ù ÐÏÚÖÅ ÍÏÖÅÔÅ ÏÔÍÅÎÉÔØ ×ÁÛÉ ÉÚÍÅÎÅÎÉÑ, ×ÅÒÎÕ×ÛÉÓØ Ë ÐÒÅÄÙÄÕÝÅÊ ×ÅÒÓÉÉ ÆÁÊÌÁ. åÓÌÉ ×Ù ÐÏÓÍÏÔÒÉÔÅ × ÎÉÖÎÀÀ ÞÁÓÔØ ÜËÒÁÎÁ, ÔÏ ×Ù Õ×ÉÄÉÔÅ ÓÔÒÏËÕ, ËÏÔÏÒÁÑ -ÎÁÞÉÎÁÅÔÓÑ Ó ÔÉÒÅ É ÅÅ ÎÁÞÁÌÏ ×ÙÇÌÑÄÉÔ ÐÒÉÍÅÒÎÏ ÔÁË "--:-- TUTORIAL.ru". üÔÁ -ÞÁÓÔØ ÜËÒÁÎÁ ×ÓÅÇÄÁ ÐÏËÁÚÙ×ÁÅÔ ÉÍÑ ÏÔËÒÙÔÏÇÏ ×ÁÍÉ ÆÁÊÌÁ. éÔÁË, ÓÅÊÞÁÓ ×Ù -ÏÔËÒÙÌÉ ÆÁÊÌ Ó ÉÍÅÎÅÍ "TUTORIAL.ru", ËÏÔÏÒÙÊ Ñ×ÌÑÅÔÓÑ ×ÁÛÅÊ ÐÅÒÓÏÎÁÌØÎÏÊ -ËÏÐÉÅÊ ÕÞÅÂÎÉËÁ Emacs. äÌÑ ÌÀÂÏÇÏ ÆÁÊÌÁ, ËÏÔÏÒÙÊ ×Ù ÏÔËÒÏÅÔÅ, ÅÇÏ ÉÍÑ ÂÕÄÅÔ -ÐÏËÁÚÁÎÏ × ÜÔÏÊ ÓÔÒÏËÅ. +ÎÁÞÉÎÁÅÔÓÑ Ó ÔÉÒÅ, É ÎÁÞÁÌÏ ËÏÔÏÒÏÊ ×ÙÇÌÑÄÉÔ ÐÒÉÍÅÒÎÏ ÔÁË "--:-- TUTORIAL.ru". +üÔÁ ÞÁÓÔØ ÜËÒÁÎÁ ×ÓÅÇÄÁ ÐÏËÁÚÙ×ÁÅÔ ÉÍÑ ÏÔËÒÙÔÏÇÏ ×ÁÍÉ ÆÁÊÌÁ. éÔÁË, ÓÅÊÞÁÓ Õ +×ÁÓ ÏÔËÒÙÔ ÆÁÊÌ Ó ÉÍÅÎÅÍ "TUTORIAL.ru", ËÏÔÏÒÙÊ Ñ×ÌÑÅÔÓÑ ×ÁÛÅÊ ÐÅÒÓÏÎÁÌØÎÏÊ +ËÏÐÉÅÊ ÕÞÅÂÎÉËÁ Emacs. äÌÑ ÌÀÂÏÇÏ ÆÁÊÌÁ, ËÏÔÏÒÙÊ ×Ù ÏÔËÒÏÅÔÅ, Emacs ÐÏËÁÖÅÔ +ÅÇÏ ÉÍÑ × ÜÔÏÊ ÓÔÒÏËÅ. ïÄÎÏÊ ÉÚ ×ÅÝÅÊ, ËÏÔÏÒÙÅ ×ÁÍ ÎÕÖÎÏ ÚÎÁÔØ Ï ËÏÍÁÎÄÅ ÏÔËÒÙÔÉÑ ÆÁÊÌÁ -- ÜÔÏ ÔÏ, -ÞÔÏ ×Ù ÄÏÌÖÎÙ ××ÅÓÔÉ ÉÍÑ ÆÁÊÌÁ, ËÏÔÏÒÙÊ ÎÕÖÎÏ ÏÔËÒÙÔØ. ôÁËÉÅ ËÏÍÁÎÄÙ ÍÙ -ÎÁÚÙ×ÁÅÍ ËÏÍÁÎÄÁÍÉ "ÞÉÔÁÀÝÉÍÉ ÁÒÇÕÍÅÎÔ Ó ÔÅÒÍÉÎÁÌÁ" (× ÎÁÛÅÍ ÓÌÕÞÁÅ, +ÞÔÏ ×Ù ÄÏÌÖÎÙ ××ÅÓÔÉ ÉÍÑ ÆÁÊÌÁ, ËÏÔÏÒÙÊ ÎÕÖÎÏ ÏÔËÒÙÔØ. ôÁËÉÅ ËÏÍÁÎÄÙ ÍÙ +ÎÁÚÙ×ÁÅÍ ËÏÍÁÎÄÁÍÉ, "ÞÉÔÁÀÝÉÍÉ ÁÒÇÕÍÅÎÔ Ó ÔÅÒÍÉÎÁÌÁ" (× ÎÁÛÅÍ ÓÌÕÞÁÅ ÁÒÇÕÍÅÎÔÏÍ Ñ×ÌÑÅÔÓÑ ÉÍÑ ÆÁÊÌÁ). ðÏÓÌÅ ××ÏÄÁ ËÏÍÁÎÄÙ C-x C-f ïÔËÒÙÔØ (ÎÁÊÔÉ) ÆÁÊÌ Emacs ÐÏÐÒÏÓÉÔ ×ÁÓ ××ÅÓÔÉ ÉÍÑ ÆÁÊÌÁ. éÍÑ ÆÁÊÌÁ ÎÁÂÉÒÁÅÔÓÑ × ÎÉÖÎÅÊ ÓÔÒÏËÅ -ÜËÒÁÎÁ. îÉÖÎÑÑ ÓÔÒÏËÁ ÎÁÚÙ×ÁÅÔÓÑ ÍÉÎÉ-ÂÕÆÅÒÏÍ -- ÏÎ ÓÐÅÃÉÁÌØÎÏ ÉÓÐÏÌØÚÕÅÔÓÑ -ÄÌÑ ××ÏÄÁ ÎÅÂÏÌØÛÏÇÏ ËÏÌÉÞÅÓÔ×Á ÄÁÎÎÙÈ. äÌÑ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ ÉÍÅÎÉ ÆÁÊÌÁ ×Ù +ÜËÒÁÎÁ. îÉÖÎÑÑ ÓÔÒÏËÁ ÎÁÚÙ×ÁÅÔÓÑ ÍÉÎÉ-ÂÕÆÅÒÏÍ -- ÏÎ ÓÐÅÃÉÁÌØÎÏ ÉÓÐÏÌØÚÕÅÔÓÑ +ÄÌÑ ××ÏÄÁ ÎÅÂÏÌØÛÏÇÏ ËÏÌÉÞÅÓÔ×Á ÄÁÎÎÙÈ. äÌÑ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ ÉÍÅÎÉ ÆÁÊÌÁ ×Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÏÂÙÞÎÙÅ ËÏÍÁÎÄÙ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ Emacs. ëÏÇÄÁ ×Ù ××ÏÄÉÔÅ ÉÍÑ ÆÁÊÌÁ (ÉÌÉ ÌÀÂÕÀ ÄÒÕÇÕÀ ÉÎÆÏÒÍÁÃÉÀ × ÍÉÎÉ-ÂÕÆÅÒÅ), ×Ù @@ -557,10 +558,10 @@ Emacs C-x C-s óÏÈÒÁÎÉÔØ ÆÁÊÌ -üÔÁ ËÏÍÁÎÄÁ ÓËÏÐÉÒÕÅÔ ÔÅËÓÔ ÉÚ Emacs × ÆÁÊÌ. ÷ ÐÅÒ×ÙÊ ÒÁÚ, ËÏÇÄÁ ×Ù ÜÔÏ +üÔÁ ËÏÍÁÎÄÁ ÓËÏÐÉÒÕÅÔ ÔÅËÓÔ ÉÚ Emacs × ÆÁÊÌ. ÷ ÐÅÒ×ÙÊ ÒÁÚ, ËÏÇÄÁ ×Ù ÜÔÏ ÓÄÅÌÁÅÔÅ, Emacs ÐÅÒÅÉÍÅÎÕÅÔ ÏÒÉÇÉÎÁÌØÎÙÊ ÆÁÊÌ × ÆÁÊÌ Ó ÎÏ×ÙÍ ÉÍÅÎÅÍ, ÞÔÏÂÙ -ÎÅ ÐÏÔÅÒÑÌÏÓØ ÐÒÅÄÙÄÕÝÅÅ ÓÏÄÅÒÖÉÍÏÅ ÆÁÊÌÁ. îÏ×ÏÅ ÉÍÑ ÐÏÌÕÞÁÅÔÓÑ ÄÏÂÁ×ÌÅÎÉÅÍ -ÓÉÍ×ÏÌÁ "~" Ë ÏÒÉÇÉÎÁÌØÎÏÍÕ ÉÍÅÎÉ ÆÁÊÌÁ. +ÎÅ ÐÏÔÅÒÑÌÏÓØ ÐÒÅÄÙÄÕÝÅÅ ÓÏÄÅÒÖÉÍÏÅ ÆÁÊÌÁ. éÍÑ ÆÁÊÌÁ Ó ÐÒÅÄÙÄÕÝÉÍ ÓÏÄÅÒÖÉÍÙÍ +ÐÏÌÕÞÁÅÔÓÑ ÄÏÂÁ×ÌÅÎÉÅÍ ÓÉÍ×ÏÌÁ "~" Ë ÏÒÉÇÉÎÁÌØÎÏÍÕ ÉÍÅÎÉ ÆÁÊÌÁ. ëÏÇÄÁ ÓÏÈÒÁÎÅÎÉÅ ÚÁ×ÅÒÛÉÔÓÑ, Emacs ÏÔÏÂÒÁÚÉÔ ÉÍÑ ÚÁÐÉÓÁÎÎÏÇÏ ÆÁÊÌÁ. ÷Ù ÄÏÌÖÎÙ ÓÏÈÒÁÎÑÔØ ÉÚÍÅÎÅÎÉÑ ÄÏÓÔÁÔÏÞÎÏ ÞÁÓÔÏ, ÞÔÏÂÙ ÎÅ ÐÏÔÅÒÑÔØ ×ÎÅÓÅÎÎÙÅ @@ -569,197 +570,190 @@ Emacs >> îÁÂÅÒÉÔÅ C-x C-s, ÓÏÈÒÁÎÉÔÅ ×ÁÛÕ ËÏÐÉÀ ÕÞÅÂÎÉËÁ. ÷ ÎÉÖÎÅÊ ÓÔÒÏËÅ ÜËÒÁÎÁ ÄÏÌÖÎÁ ÐÏÑ×ÉÔØÓÑ ÎÁÄÐÉÓØ "Wrote ...TUTORIAL.ru". -úáíåþáîéå: îÁ ÎÅËÏÔÏÒÙÈ ÓÉÓÔÅÍÁÈ, ××ÏÄ C-x C-s ÚÁÂÌÏËÉÒÕÅÔ ÜËÒÁÎ, ÔÁË ÞÔÏ ×Ù -ÎÅ Õ×ÉÄÉÔÅ ÐÏÓÌÅÄÕÀÝÅÇÏ ×Ù×ÏÄÁ Emacs`Á. ôÁËÏÅ ÐÏ×ÅÄÅÎÉÅ ÏÚÎÁÞÁÅÔ, ÞÔÏ -ÏÐÅÒÁÃÉÏÎÎÁÑ ÓÉÓÔÅÍÁ ÉÍÅÅÔ "ÏÓÏÂÅÎÎÏÓÔØ", ÉÍÅÎÕÅÍÕÀ "flow control", -ÐÅÒÅÈ×ÁÔÙ×ÁÀÝÕÀ ÓÏÞÅÔÁÎÉÅ C-s É ÎÅ ÐÒÏÐÕÓËÁÀÝÕÀ ÜÔÏÔ ÓÉÍ×ÏÌ Ë Emacs`Õ. äÌÑ -ÓÎÑÔÉÑ ÂÌÏËÉÒÏ×ËÉ ÜËÒÁÎÁ, ÎÁÖÍÉÔÅ C-q. ïÂÒÁÔÉÔÅÓØ Ë ÒÁÚÄÅÌÕ "Spontaneous -Entry to Incremental Search" ÒÕËÏ×ÏÄÓÔ×Á Emacs, ÞÔÏÂÙ ÕÚÎÁÔØ Ï ÔÏÍ, ËÁË -ÂÏÒÏÔØÓÑ Ó ÜÔÏÊ "ÏÓÏÂÅÎÎÏÓÔØÀ". - ÷Ù ÍÏÖÅÔÅ ÏÔËÒÙÔØ ÓÕÝÅÓÔ×ÕÀÝÉÊ ÆÁÊÌ ÄÌÑ ÐÒÏÓÍÏÔÒÁ ÉÌÉ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ. ÷Ù -ÔÁËÖÅ ÍÏÖÅÔÅ ÏÔËÒÙÔØ ÆÁÊÌ, ËÏÔÏÒÏÇÏ ÅÝÅ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ. äÒÕÇÉÍÉ ÓÌÏ×ÁÍÉ -- -ÓÏÚÄÁÔØ ÆÁÊÌ Ó ÐÏÍÏÝØÀ Emacs ÍÏÖÎÏ ÔÁË: ÎÁÊÔÉ ÆÁÊÌ, ÓÏÚÄÁÔØ ÎÏ×ÙÊ, É ÎÁÞÁÔØ -××ÏÄÉÔØ ÔÅËÓÔ. ëÏÇÄÁ ×Ù ×ÙÐÏÌÎÉÔÅ ËÏÍÁÎÄÕ ÓÏÈÒÁÎÅÎÉÑ ÆÁÊÌÁ, ÔÏ Emacs ÓÏÚÄÁÓÔ -ÎÁÓÔÏÑÝÉÊ ÆÁÊÌ Ó ÎÁÂÒÁÎÎÙÍ ×ÁÍÉ ÔÅËÓÔÏÍ. äÁÌÅÅ, ËÁË ×Ù ÐÏÎÑÌÉ, ×Ù ÂÕÄÅÔÅ -ÒÅÄÁËÔÉÒÏ×ÁÔØ ÕÖÅ ÓÕÝÅÓÔ×ÕÀÝÉÊ ÆÁÊÌ. +ÔÁËÖÅ ÍÏÖÅÔÅ ÏÔËÒÙÔØ ÆÁÊÌ, ËÏÔÏÒÙÊ ÅÝÅ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ. ôÁËÉÍ ÏÂÒÁÚÏÍ ×Ù +ÍÏÖÅÔÅ ÓÏÚÄÁÔØ ÆÁÊÌ Ó ÐÏÍÏÝØÀ Emacs: ÏÔËÒÏÊÔÅ ÎÅÓÕÝÅÓÔ×ÕÀÝÉÊ ÆÁÊÌ (Emacs +ÐÏËÁÖÅÔ ÅÇÏ ÐÕÓÔÙÍ) É ××ÏÄÉÔÅ × ÎÅÇÏ ÔÅËÓÔ. ëÏÇÄÁ ×Ù ×ÙÐÏÌÎÉÔÅ ËÏÍÁÎÄÕ +ÓÏÈÒÁÎÅÎÉÑ ÆÁÊÌÁ × ÐÅÒ×ÙÊ ÒÁÚ, Emacs ÓÏÚÄÁÓÔ ÎÁÓÔÏÑÝÉÊ ÆÁÊÌ Ó ÎÁÂÒÁÎÎÙÍ +×ÁÍÉ ÔÅËÓÔÏÍ. äÁÌÅÅ, ËÁË ×Ù ÐÏÎÑÌÉ, ×Ù ÂÕÄÅÔÅ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÕÖÅ ÓÕÝÅÓÔ×ÕÀÝÉÊ +ÆÁÊÌ. * âõæåòá -------- -åÓÌÉ ×Ù ÏÔËÒÙ×ÁÅÔÅ ×ÔÏÒÏÊ ÆÁÊÌ ÉÓÐÏÌØÚÕÑ ËÏÍÁÎÄÕ C-x C-f, ÔÏ ÐÅÒ×ÙÊ ÆÁÊÌ -ÏÓÔÁÅÔÓÑ ×ÎÕÔÒÉ Emacs. ÷Ù ÍÏÖÅÔÅ ÐÅÒÅËÌÀÞÉÔØÓÑ ÎÁÚÁÄ, ÏÔËÒÙ× ÅÇÏ ÓÎÏ×Á Ó -ÐÏÍÏÝØÀ C-x C-f. ôÁËÉÍ ÏÂÒÁÚÏÍ ×Ù ÍÏÖÅÔÅ ÚÁÇÒÕÚÉÔØ ÎÅÓËÏÌØËÏ ÆÁÊÌÏ× × Emacs. +åÓÌÉ ×Ù ÏÔËÒÏÅÔÅ ÅÝÅ ÏÄÉÎ ÆÁÊÌ, ÉÓÐÏÌØÚÕÑ ËÏÍÁÎÄÕ C-x C-f, ÔÏ ÐÒÅÄÙÄÕÝÉÊ ÆÁÊÌ +ÏÓÔÁÅÔÓÑ ×ÎÕÔÒÉ Emacs'Á. ÷Ù ÍÏÖÅÔÅ ÐÅÒÅËÌÀÞÉÔØÓÑ ÎÁÚÁÄ Ë ÐÒÅÄÙÄÕÝÅÍÕ ÆÁÊÌÕ, +ÏÔËÒÙ× ÅÇÏ ÓÎÏ×Á Ó ÐÏÍÏÝØÀ C-x C-f. ôÁËÉÍ ÏÂÒÁÚÏÍ ×Ù ÍÏÖÅÔÅ ÚÁÇÒÕÚÉÔØ ÎÅÍÁÌÏ +ÆÁÊÌÏ× × Emacs. >> óÏÚÄÁÊÔÅ ÆÁÊÌ Ó ÉÍÅÎÅÍ "foo", ÎÁÂÒÁ× C-x C-f foo . ÷ÓÔÁרÔÅ ËÁËÏÊ-ÎÉÂÕÄØ ÔÅËÓÔ, ÉÚÍÅÎÉÔÅ ÅÇÏ, É ÓÏÈÒÁÎÉÔÅ ÆÁÊÌ "foo", ÎÁÂÒÁ× C-x C-s. - îÁËÏÎÅÃ, ÎÁÂÅÒÉÔÅ C-x C-f TUTORIAL.ru , ÄÌÑ ÔÏÇÏ, ÞÔÏÂÙ ×ÅÒÎÕÔØÓÑ + îÁËÏÎÅÃ, ÎÁÂÅÒÉÔÅ C-x C-f TUTORIAL.ru ÄÌÑ ÔÏÇÏ, ÞÔÏÂÙ ×ÅÒÎÕÔØÓÑ ÎÁÚÁÄ Ë ÕÞÅÂÎÉËÕ. -Emacs ÈÒÁÎÉÔ ÔÅËÓÔ ËÁÖÄÏÇÏ ÆÁÊÌÁ ×ÎÕÔÒÉ × ÏÂßÅËÔÅ, ÎÁÚÙ×ÁÅÍÏÍ "ÂÕÆÅÒ" -("buffer"). ïÔËÒÙÔÉÅ ÆÁÊÌÁ ÓÏÚÄÁÅÔ ÎÏ×ÙÊ ÂÕÆÅÒ ×ÎÕÔÒÉ Emacs. þÔÏÂÙ Õ×ÉÄÅÔØ -ÓÐÉÓÏË ÂÕÆÅÒÏ×, ÓÏÚÄÁÎÎÙÈ × ÔÅËÕÝÅÍ ÓÅÁÎÓÅ Emacs, ÎÁÂÅÒÉÔÅ +Emacs ÈÒÁÎÉÔ ÔÅËÓÔ ËÁÖÄÏÇÏ ÆÁÊÌÁ × ÏÂßÅËÔÅ, ÎÁÚÙ×ÁÅÍÏÍ "ÂÕÆÅÒ" ("buffer"). +ïÔËÒÙÔÉÅ ÆÁÊÌÁ ÓÏÚÄÁÅÔ ÎÏ×ÙÊ ÂÕÆÅÒ ×ÎÕÔÒÉ Emacs. þÔÏÂÙ Õ×ÉÄÅÔØ ÓÐÉÓÏË +ÂÕÆÅÒÏ×, ÓÏÚÄÁÎÎÙÈ × ÔÅËÕÝÅÍ ÓÅÁÎÓÅ Emacs, ÎÁÂÅÒÉÔÅ C-x C-b óÐÉÓÏË ÂÕÆÅÒÏ× >> ðÏÐÒÏÂÕÊÔÅ ×ÙÐÏÌÎÉÔØ C-x C-b ÐÒÑÍÏ ÓÅÊÞÁÓ. -íÙ ×ÉÄÉÍ, ÞÔÏ ËÁÖÄÙÊ ÂÕÆÅÒ ÉÍÅÅÔ ÉÍÑ, É ÍÏÖÅÔ ÉÍÅÔØ Ó×ÑÚÁÎÎÏÅ Ó ÎÉÍ ÉÍÑ -ÆÁÊÌÁ, ÓÏÄÅÒÖÉÍÏÅ ËÏÔÏÒÏÇÏ × ÈÒÁÎÉÔÓÑ × ÄÁÎÎÏÍ ÂÕÆÅÒÅ. ìàâïê ÔÅËÓÔ, ËÏÔÏÒÙÊ -×Ù ×ÉÄÉÔÅ × ÏËÎÅ Emacs, ×ÓÅÇÄÁ Ñ×ÌÑÅÔÓÑ ÞÁÓÔØÀ ËÁËÏÇÏ-ÌÉÂÏ ÂÕÆÅÒÁ. +íÙ ×ÉÄÉÍ, ÞÔÏ ËÁÖÄÙÊ ÂÕÆÅÒ ÉÍÅÅÔ ÉÍÑ É ÍÏÖÅÔ ÉÍÅÔØ Ó×ÑÚÁÎÎÏÅ Ó ÎÉÍ ÉÍÑ +ÆÁÊÌÁ, ÓÏÄÅÒÖÉÍÏÅ ËÏÔÏÒÏÇÏ ÈÒÁÎÉÔÓÑ × ÄÁÎÎÏÍ ÂÕÆÅÒÅ. ìàâïê ÔÅËÓÔ, ËÏÔÏÒÙÊ +×Ù ×ÉÄÉÔÅ × ÏËÎÅ Emacs'Á, ×ÓÅÇÄÁ Ñ×ÌÑÅÔÓÑ ÞÁÓÔØÀ ËÁËÏÇÏ-ÌÉÂÏ ÂÕÆÅÒÁ. >> îÁÂÅÒÉÔÅ C-x 1, ÞÔÏÂÙ ÉÚÂÁ×ÉÔØÓÑ ÏÔ ÓÐÉÓËÁ ÂÕÆÅÒÏ×. ëÏÇÄÁ Õ ×ÁÓ ÅÓÔØ ÎÅÓËÏÌØËÏ ÂÕÆÅÒÏ×, ÔÏÌØËÏ ÏÄÉÎ ÉÚ ÎÉÈ Ñ×ÌÑÅÔÓÑ "ÔÅËÕÝÉÍ" × -ËÏÎËÒÅÔÎÙÊ ÍÏÍÅÎÔ ×ÒÅÍÅÎÉ. üÔÏ ÔÏÔ ÂÕÆÅÒ, ËÏÔÏÒÙÊ ×Ù ÉÚÍÅÎÑÅÔÅ. åÓÌÉ ×Ù -ÈÏÔÉÔÅ ÉÚÍÅÎÉÔØ ÄÁÎÎÙÅ × ÄÒÕÇÏÍ ÂÕÆÅÒÅ, ÔÏ ×Ù ÄÏÌÖÎÙ "ÐÅÒÅËÌÀÞÉÔØÓÑ" × ÎÅÇÏ. -åÓÌÉ ×Ù ÈÏÔÉÔÅ ÐÅÒÅËÌÀÞÉÔØÓÑ × ÂÕÆÅÒ, Ó×ÑÚÁÎÎÙÊ Ó ÆÁÊÌÏÍ, ÔÏ ×Ù ÍÏÖÅÔÅ -ÏÔËÒÙÔØ ÜÔÏÔ ÆÁÊÌ ÓÎÏ×Á Ó ÐÏÍÏÝØÀ C-x C-f. îÏ ÅÓÔØ ÂÏÌÅÅ ÐÒÏÓÔÏÊ ÓÐÏÓÏ -- -ÉÓÐÏÌØÚÏ×ÁÔØ ËÏÍÁÎÄÕ C-x b. ÷ ËÁÞÅÓÔ×Å ÁÒÇÕÍÅÎÔÁ ÄÌÑ ÄÁÎÎÏÊ ËÏÍÁÎÄÙ ×Ù +ËÏÎËÒÅÔÎÙÊ ÍÏÍÅÎÔ ×ÒÅÍÅÎÉ. üÔÏ ÔÏÔ ÂÕÆÅÒ, ËÏÔÏÒÙÊ ×Ù ÒÅÄÁËÔÉÒÕÅÔÅ. åÓÌÉ ×Ù +ÈÏÔÉÔÅ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÄÒÕÇÏÊ ÂÕÆÅÒ, ÔÏ ×Ù ÄÏÌÖÎÙ "ÐÅÒÅËÌÀÞÉÔØÓÑ" Ë ÎÅÍÕ. +åÓÌÉ ×Ù ÈÏÔÉÔÅ ÐÅÒÅËÌÀÞÉÔØÓÑ Ë ÂÕÆÅÒÕ, Ó×ÑÚÁÎÎÏÍÕ Ó ÆÁÊÌÏÍ, ÔÏ ×Ù ÍÏÖÅÔÅ +ÏÔËÒÙÔØ ÜÔÏÔ ÆÁÊÌ ÓÎÏ×Á Ó ÐÏÍÏÝØÀ C-x C-f. îÏ ÅÓÔØ ÂÏÌÅÅ ÐÒÏÓÔÏÊ ÓÐÏÓÏ -- +ÉÓÐÏÌØÚÏ×ÁÔØ ËÏÍÁÎÄÕ C-x b. ÷ ËÁÞÅÓÔ×Å ÁÒÇÕÍÅÎÔÁ ÄÌÑ ÄÁÎÎÏÊ ËÏÍÁÎÄÙ ×Ù ÄÏÌÖÎÙ ÕËÁÚÁÔØ ÉÍÑ ÂÕÆÅÒÁ. >> îÁÂÅÒÉÔÅ C-x b foo ÄÌÑ ÐÅÒÅËÌÀÞÅÎÉÑ × ÂÕÆÅÒ "foo", ËÏÔÏÒÙÊ - ÈÒÁÎÉÔ ÔÅËÓÔ ÆÁÊÌÁ "foo". úÁÔÅÍ ÎÁÂÅÒÉÔÅ C-x b TUTORIAL ÄÌÑ - ×ÏÚ×ÒÁÝÅÎÉÑ × ÂÕÆÅÒ Ó ÄÁÎÎÙÍ ÕÞÅÂÎÉËÏÍ. + ÈÒÁÎÉÔ ÔÅËÓÔ ÆÁÊÌÁ "foo". úÁÔÅÍ ÎÁÂÅÒÉÔÅ C-x b TUTORIAL.ru + ÄÌÑ ×ÏÚ×ÒÁÝÅÎÉÑ × ÂÕÆÅÒ Ó ÄÁÎÎÙÍ ÕÞÅÂÎÉËÏÍ. -þÁÝÅ ×ÓÅÇÏ ÉÍÑ ÂÕÆÅÒÁ ÓÏ×ÐÁÄÁÅÔ Ó ÉÍÅÎÅÍ ÆÁÊÌÁ (ÔÏÌØËÏ ÂÅÚ ÉÍÅÎÉ ËÁÔÁÌÏÇÏ×). -ïÄÎÁËÏ ÜÔÏ ÎÅ ×ÓÅÇÄÁ Ñ×ÌÑÅÔÓÑ ÐÒÁ×ÄÏÊ. óÐÉÓÏË ÂÕÆÅÒÏ×, ËÏÔÏÒÙÊ ×Ù ÓÏÚÄÁÅÔÅ -Ó ÐÏÍÏÝØÀ ËÏÍÁÎÄÙ C-x C-b ×ÓÅÇÄÁ ÐÏËÁÚÙ×ÁÅÔ ×ÁÍ ÉÍÅÎÁ ×ÓÅÈ ÂÕÆÅÒÏ×. +þÁÝÅ ×ÓÅÇÏ ÉÍÑ ÂÕÆÅÒÁ ÓÏ×ÐÁÄÁÅÔ Ó ÉÍÅÎÅÍ ÆÁÊÌÁ (ÔÏÌØËÏ ÂÅÚ ÉÍÅÎ ËÁÔÁÌÏÇÏ×). +îÏ ÉÎÏÇÄÁ ÜÔÏ ÎÅ ÔÁË. óÐÉÓÏË ÂÕÆÅÒÏ×, ËÏÔÏÒÙÊ ×Ù ÓÏÚÄÁÅÔÅ Ó ÐÏÍÏÝØÀ ËÏÍÁÎÄÙ +C-x C-b, ×ÓÅÇÄÁ ÐÏËÁÚÙ×ÁÅÔ ×ÁÍ ÔÏÞÎÙÅ ÉÍÅÎÁ ×ÓÅÈ ÂÕÆÅÒÏ×. ìàâïê ÔÅËÓÔ, ËÏÔÏÒÙÊ ×Ù ×ÉÄÉÔÅ × ÏËÎÅ Emacs, ×ÓÅÇÄÁ Ñ×ÌÑÅÔÓÑ ÞÁÓÔØÀ -ËÁËÏÇÏ-ÌÉÂÏ ÂÕÆÅÒÁ. îÅËÏÔÏÒÙÅ ÂÕÆÅÒÁ ÎÅ ÓÏÏÔ×ÅÔÓÔ×ÕÀÔ ÆÁÊÌÁÍ. îÁÐÒÉÍÅÒ, -ÂÕÆÅÒ Ó ÉÍÅÎÅÍ "*Buffer List*" ÎÅ Ó×ÑÚÁÎ ÎÉ Ó ËÁËÉÍ ÆÁÊÌÏÍ. üÔÏ ÂÕÆÅÒ, -ËÏÔÏÒÙÊ ÓÏÄÅÒÖÉÔ ÓÐÉÓÏË ÂÕÆÅÒÏ×, ËÏÔÏÒÙÊ ×Ù ÓÏÚÄÁÌÉ ÉÓÐÏÌØÚÕÑ C-x C-b. -âÕÆÅÒ Ó ÉÍÅÎÅÍ "*Messages*" ÔÁËÖÅ ÎÅ Ó×ÑÚÁÎ ÎÉ Ó ËÁËÉÍ ÆÁÊÌÏÍ; ÏÎ ÓÏÄÅÒÖÉÔ -ÓÏÏÂÝÅÎÉÑ, ËÏÔÏÒÙÅ ÏÔÏÂÒÁÖÁÀÔÓÑ × ÓÁÍÏÊ ÎÉÖÎÅÊ ÓÔÒÏËÅ ÏËÎÁ Emacs × ÔÅÞÅÎÉÉ -ÔÅËÕÝÅÊ ÓÅÓÓÉÉ ÒÁÂÏÔÙ Ó ÒÅÄÁËÔÏÒÏÍ. +ËÁËÏÇÏ-ÌÉÂÏ ÂÕÆÅÒÁ. îÅËÏÔÏÒÙÅ ÂÕÆÅÒÁ ÎÅ ÓÏÏÔ×ÅÔÓÔ×ÕÀÔ ÆÁÊÌÁÍ. îÁÐÒÉÍÅÒ, +ÂÕÆÅÒ Ó ÉÍÅÎÅÍ "*Buffer List*" ÎÅ Ó×ÑÚÁÎ ÎÉ Ó ËÁËÉÍ ÆÁÊÌÏÍ. üÔÏÔ ÂÕÆÅÒ +ÓÏÚÄÁÅÔÓÑ ËÏÍÍÁÎÄÏÊ C-x C-b É ÓÏÄÅÒÖÉÔ ÓÐÉÓÏË ×ÓÅÈ ÂÕÆÅÒÏ×. âÕÆÅÒ ÐÏ ÉÍÅÎÉ +"*Messages*" ÔÁËÖÅ ÎÅ Ó×ÑÚÁÎ ÎÉ Ó ËÁËÉÍ ÆÁÊÌÏÍ; ÏÎ ÓÏÄÅÒÖÉÔ ÓÏÏÂÝÅÎÉÑ, +ËÏÔÏÒÙÅ ÏÔÏÂÒÁÖÁÀÔÓÑ × ÓÁÍÏÊ ÎÉÖÎÅÊ ÓÔÒÏËÅ ÏËÎÁ Emacs × ÔÅÞÅÎÉÅ +ÔÅËÕÝÅÇÏ ÓÅÁÎÓÁ ÒÁÂÏÔÙ Ó ÒÅÄÁËÔÏÒÏÍ. >> îÁÂÅÒÉÔÅ C-x b *Messages* ÄÌÑ ÐÒÏÓÍÏÔÒÁ ÓÏÄÅÒÖÉÍÏÇÏ ÂÕÆÅÒÁ - ÓÏÏÂÝÅÎÉÊ. úÁÔÅÍ ÎÁÂÅÒÉÔÅ C-x b TUTORIAL ÄÌÑ ×ÏÚ×ÒÁÔÁ × ÄÁÎÎÙÊ - ÕÞÅÂÎÉË. + ÓÏÏÂÝÅÎÉÊ. úÁÔÅÍ ÎÁÂÅÒÉÔÅ C-x b TUTORIAL.ru ÄÌÑ ×ÏÚ×ÒÁÔÁ × + ÄÁÎÎÙÊ ÕÞÅÂÎÉË. åÓÌÉ ×Ù ÉÚÍÅÎÑÅÔÅ ÔÅËÓÔ ÏÄÎÏÇÏ ÆÁÊÌÁ, Á ÚÁÔÅÍ ÏÔËÒÙ×ÁÅÔÅ ÄÒÕÇÏÊ, ÔÏ ÔÅËÓÔ × -ÐÅÒ×ÏÍ ÂÕÆÅÒÅ ÏÓÔÁÅÔÓÑ ÎÅ ÓÏÈÒÁÎÅÎÎÙÍ. éÚÍÅÎÅÎÉÑ ÏÓÔÁÎÕÔÓÑ ×ÎÕÔÒÉ Emacs, × +ÐÅÒ×ÏÍ ÂÕÆÅÒÅ ÏÓÔÁÅÔÓÑ ÎÅ ÓÏÈÒÁÎÅÎÎÙÍ. éÚÍÅÎÅÎÉÑ ÏÓÔÁÎÕÔÓÑ ×ÎÕÔÒÉ Emacs, × ÂÕÆÅÒÅ, Ó×ÑÚÁÎÎÏÍ Ó ÆÁÊÌÏÍ. óÏÚÄÁÎÉÅ ÉÌÉ ÒÅÄÁËÔÉÒÏ×ÁÎÉÅ ÓÌÅÄÕÀÝÅÇÏ ÂÕÆÅÒÁ ÎÅ ÓËÁÚÙ×ÁÅÔÓÑ ÎÁ ÐÅÒ×ÏÍ ÂÕÆÅÒÅ. üÔÏ ÏÞÅÎØ ÕÄÏÂÎÏ, ÎÏ ÉÍÅÊÔÅ × ×ÉÄÕ, ÞÔÏ ×ÁÍ -ÎÕÖÎÏ ÉÍÅÔØ ÓÐÏÓÏ ÓÏÈÒÁÎÉÔØ ÐÅÒ×ÙÊ ÆÁÊÌÏ×ÙÊ ÂÕÆÅÒ. âÙÌÏ ÂÙ ÎÅÐÒÉÑÔÎÏ +ÎÕÖÎÏ ÉÍÅÔØ ÓÐÏÓÏ ÓÏÈÒÁÎÉÔØ ÐÅÒ×ÙÊ ÆÁÊÌÏ×ÙÊ ÂÕÆÅÒ. âÙÌÏ ÂÙ ÎÅÐÒÉÑÔÎÏ ËÁÖÄÙÊ ÒÁÚ ×ÏÚ×ÒÁÝÁÔØÓÑ ÎÁÚÁÄ ÉÓÐÏÌØÚÕÑ C-x C-f É ÐÏÔÏÍ ÉÓÐÏÌØÚÏ×ÁÔØ C-x C-s ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÄÁÎÎÙÈ. ðÏÜÔÏÍÕ ÓÕÝÅÓÔ×ÕÅÔ ËÏÍÁÎÄÁ C-x s óÏÈÒÁÎÉÔØ ÎÅËÏÔÏÒÙÅ ÂÕÆÅÒÁ. (Save some buffers) C-x s ÚÁÐÒÁÛÉ×ÁÅÔ Õ ×ÁÓ ÐÏÄÔ×ÅÒÖÄÅÎÉÅ Ï ÓÏÈÒÁÎÅÎÉÉ ÄÌÑ ËÁÖÄÏÇÏ ÂÕÆÅÒÁ, -ËÏÔÏÒÙÊ ÓÏÄÅÒÖÉÔ ÎÅ ÓÏÈÒÁÎÅÎÎÙÅ ÉÚÍÅÎÅÎÉÑ. äÌÑ ËÁÖÄÏÇÏ ÔÁËÏÇÏ ÂÕÆÅÒÁ Õ ×ÁÓ +ËÏÔÏÒÙÊ ÓÏÄÅÒÖÉÔ ÎÅÓÏÈÒÁÎÅÎÎÙÅ ÉÚÍÅÎÅÎÉÑ. äÌÑ ËÁÖÄÏÇÏ ÔÁËÏÇÏ ÂÕÆÅÒÁ Õ ×ÁÓ ÚÁÐÒÏÓÑÔ: ÓÏÈÒÁÎÑÔØ ÉÌÉ ÎÅ ÓÏÈÒÁÎÑÔØ ÉÚÍÅÎÅÎÉÑ. >> ÷ÓÔÁרÔÅ ÓÔÒÏËÕ ÔÅËÓÔÁ, ÐÏÔÏÍ ÎÁÂÅÒÉÔÅ C-x s. - õ ×ÁÓ ÄÏÌÖÎÙ ÓÐÒÏÓÉÔØ, ÓÏÈÒÁÎÑÔØ ÌÉ ÂÕÆÅÒ Ó ÉÍÅÎÅÍ TUTORIAL.ru. ïÔ×ÅÔØÔÅ - ÎÁ ×ÏÐÒÏÓ ÕÔ×ÅÒÄÉÔÅÌØÎÏ, ÎÁÂÒÁ× "y". + äÏÌÖÅÎ ÐÏÑ×ÉÔØÓÑ ÚÁÐÒÏÓ: ÓÏÈÒÁÎÑÔØ ÌÉ ÂÕÆÅÒ Ó ÉÍÅÎÅÍ TUTORIAL.ru. + ïÔ×ÅÔØÔÅ ÎÁ ÚÁÐÒÏÓ ÕÔ×ÅÒÄÉÔÅÌØÎÏ ÎÁÖÁÔÉÅÍ ËÌÁ×ÉÛÙ "y". * òáóûéòåîéå îáâïòá ëïíáîä -------------------------- õ Emacs ÏÞÅÎØ ÍÎÏÇÏ ËÏÍÁÎÄ, É ÏÎÉ ÎÅ ÍÏÇÕÔ ÂÙÔØ ÎÁÚÎÁÞÅÎÙ ÎÁ ×ÓÅ control- É -meta- ÓÉÍ×ÏÌÙ. Emacs ÏÂÈÏÄÉÔ ÜÔÏ, ÉÓÐÏÌØÚÕÑ X-ËÏÍÁÎÄÕ (eXtend). åÓÔØ Ä×Å -×ÏÚÍÏÖÎÏÓÔÉ: +meta- ÓÉÍ×ÏÌÙ. Emacs ÒÅÛÁÅÔ ÜÔÕ ÐÒÏÂÌÅÍÕ, ÉÓÐÏÌØÚÕÑ X-ËÏÍÁÎÄÕ (eXtend, +ÒÁÓÛÉÒÉÔØ). åÓÔØ Ä×Á ×ÁÒÉÁÎÔÁ ÜÔÏÇÏ ÒÁÓÛÉÒÅÎÉÑ: - C-x òÁÓÛÉÒÅÎÉÅ Ó ÐÏÍÏÝØÀ ××ÏÄÁ ÐÒÅÆÉËÓÁ. úÁ ÎÉÍ ÓÌÅÄÕÅÍ ÏÄÉÎ ÓÉÍ×ÏÌ. - M-x òÁÓÛÉÒÅÎÉÅ ÎÁÂÏÒÁ ËÏÍÁÎÄ Ó ÐÏÍÏÝØÀ ÉÈ ÎÁÉÍÅÎÏ×ÁÎÉÑ. úÁ ÎÉÍ ÓÌÅÄÕÅÔ ÉÍÑ - ËÏÍÁÎÄÙ. + C-x òÁÓÛÉÒÅÎÉÅ Ó ÐÏÍÏÝØÀ ××ÏÄÁ ÐÒÅÆÉËÓÁ. úÁ ÎÉÍ ÓÌÅÄÕÅÔ ÏÄÉÎ ÓÉÍ×ÏÌ. + M-x òÁÓÛÉÒÅÎÉÅ ÎÁÂÏÒÁ ËÏÍÁÎÄ Ó ÐÏÍÏÝØÀ ÉÈ ÎÁÉÍÅÎÏ×ÁÎÉÑ. úÁ ÎÉÍ + ÓÌÅÄÕÅÔ ÉÍÑ ËÏÍÁÎÄÙ. üÔÏ ÐÏÌÅÚÎÙÅ ËÏÍÁÎÄÙ, ÎÏ ÏÎÉ ÉÓÐÏÌØÚÕÀÔÓÑ ÍÅÎÅÅ ÞÁÓÔÏ, ÞÅÍ ÔÅ ËÏÍÁÎÄÙ, -ËÏÔÏÒÙÅ ÍÙ ÉÚÕÞÉÌÉ. ÷Ù ÕÖÅ ×ÉÄÅÌÉ ÎÅËÏÔÏÒÙÅ ÉÚ ÎÉÈ: ËÏÍÁÎÄÙ ÒÁÂÏÔÙ Ó ÆÁÊÌÁÍÉ -C-x C-f -- ÏÔËÒÙÔØ ÆÁÊÌ, É C-x C-s -- ÓÏÈÒÁÎÉÔØ ÆÁÊÌ. äÒÕÇÏÊ ÐÒÉÍÅÒ -- -ËÏÍÁÎÄÁ ÚÁ×ÅÒÛÅÎÉÑ ÒÁÂÏÔÙ Ó Emacs -- C-x C-c. (îÅ ×ÏÌÎÕÊÔÅÓØ Ï ÔÏÍ, ÞÔÏ ×Ù -ÐÏÔÅÒÑÅÔÅ ÓÄÅÌÁÎÎÙÅ ÉÚÍÅÎÅÎÉÑ, C-x C-c ÐÒÅÄÌÁÇÁÅÔ ÓÏÈÒÁÎÉÔØ ÉÚÍÅÎÅÎÉÑ ÐÅÒÅÄ -ÕÄÁÌÅÎÉÅÍ ÂÕÆÅÒÁ Emacs). +ËÏÔÏÒÙÅ ÍÙ ÕÖÅ ÉÚÕÞÉÌÉ. ÷Ù ÕÖÅ ×ÉÄÅÌÉ ÎÅËÏÔÏÒÙÅ ÉÚ ÒÁÓÛÉÒÅÎÎÙÈ ËÏÍÍÁÎÄ: +ËÏÍÁÎÄÙ ÒÁÂÏÔÙ Ó ÆÁÊÌÁÍÉ C-x C-f -- ÏÔËÒÙÔØ ÆÁÊÌ, É C-x C-s -- ÓÏÈÒÁÎÉÔØ +ÆÁÊÌ. äÒÕÇÏÊ ÐÒÉÍÅÒ -- ËÏÍÁÎÄÁ ÚÁ×ÅÒÛÅÎÉÑ ÒÁÂÏÔÙ Ó Emacs'ÏÍ -- C-x C-c. +(îÅ ×ÏÌÎÕÊÔÅÓØ Ï ÔÏÍ, ÞÔÏ ×Ù ÐÏÔÅÒÑÅÔÅ ÓÄÅÌÁÎÎÙÅ ÉÚÍÅÎÅÎÉÑ, C-x C-c +ÐÒÅÄÌÁÇÁÅÔ ÓÏÈÒÁÎÉÔØ ÉÚÍÅÎÅÎÉÑ ÐÅÒÅÄ ×ÙÈÏÄÏÍ ÉÚ Emacs'Á.) + +åÓÌÉ ×Ù ÒÁÂÏÔÁÅÔÅ ÎÁ ÇÒÁÆÉÞÅÓËÏÍ ÄÉÓÐÌÅÅ, ËÏÔÏÒÙÊ ÓÐÏÓÏÂÅÎ ÐÏËÁÚÙ×ÁÔØ +ÎÅÓËÏÌØËÏ ÐÒÏÇÒÁÍÍ ÏÄÎÏ×ÒÅÍÅÎÎÏ, ×Ù ÍÏÖÅÔÅ ÐÅÒÅËÌÀÞÉÔÓÑ ÏÔ Emacs'Á Ë ÄÒÕÇÏÊ +ÐÒÏÇÒÁÍÍÅ ÉÓÐÏÌØÚÕÑ ÍÙÛËÕ ÉÌÉ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÅ ËÏÍÁÎÄÙ ÕÓÔÁÎÏ×ÌÅÎÎÏÇÏ Õ ×ÁÓ +ÍÅÎÅÄÖÅÒÁ ÏËÏÎ. îÏ ËÏÇÄÁ ×Ù ÒÁÂÏÔÁÅÔÅ ÎÁ ÔÅËÓÔÏ×ÏÍ ÔÅÒÍÉÎÁÌÅ, ËÏÔÏÒÙÊ +ÓÐÏÓÏÂÅÎ ÏÔÏÂÒÁÚÉÔØ ÔÏÌØËÏ ÏÄÎÕ ÐÒÏÇÒÁÍÍÕ, ÔÏ ÄÌÑ ÐÅÒÅËÌÀÞÅÎÉÑ Ë ÄÒÕÇÏÊ +ÐÒÏÇÒÁÍÍÅ ×ÁÍ ÐÏÎÁÄÏÂÉÔÓÑ "ÐÒÉÏÓÔÁÎÏ×ÉÔØ" Emacs. C-z -- ÜÔÏ ËÏÍÁÎÄÁ *×ÒÅÍÅÎÎÏÇÏ* ×ÙÈÏÄÁ ÉÚ Emacs. ÷Ù ÍÏÖÅÔÅ ×ÅÒÎÕÔØÓÑ × ÔÕ ÖÅ -ÓÅÓÓÉÀ Emacs ÐÏÚÖÅ. - -îÁ ÓÉÓÔÅÍÁÈ, ËÏÔÏÒÙÅ ÒÅÁÌÉÚÕÀÔ ÜÔÕ ×ÏÚÍÏÖÎÏÓÔØ, ËÏÍÁÎÄÁ C-z -"ÐÒÉÏÓÔÁÎÁ×ÌÉ×ÁÅÔ" ("suspends") Emacs; ×ÏÚ×ÒÁÝÁÅÔ × ËÏÍÁÎÄÎÙÊ ÐÒÏÃÅÓÓÏÒ -(shell), ÎÏ ÎÅ ÚÁËÒÙ×ÁÀÔ Emacs. ÷ ÂÏÌØÛÉÎÓÔ×Å ËÏÍÁÎÄÎÙÈ ÐÒÏÃÅÓÓÏÒÏ× ×Ù -ÍÏÖÅÔÅ ×ÅÒÎÕÔØÓÑ × Emacs, ÉÓÐÏÌØÚÕÑ ËÏÍÁÎÄÕ `fg' ÉÌÉ `%emacs'. - -÷ ÓÉÓÔÅÍÁÈ, ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÝÉÈ ÐÒÉÏÓÔÁÎÏ×ËÕ ÐÒÏÃÅÓÓÏ×, C-z ÓÏÚÄÁÅÔ ÎÏ×ÙÊ -ËÏÍÁÎÄÎÙÊ ÐÒÏÃÅÓÓÏÒ (subshell), ÚÁÐÕÝÅÎÎÙÊ ÉÚ-ÐÏÄ Emacs, ÞÔÏÂÙ ÄÁÔØ ×ÁÍ -×ÏÚÍÏÖÎÏÓÔØ ×ÙÐÏÌÎÉÔØ ÄÒÕÇÕÀ ÐÒÏÇÒÁÍÍÕ, É ÚÁÔÅÍ ×ÅÒÎÕÔØÓÑ × Emacs (ÜÔÏ ÎÅ -ÎÁÓÔÏÑÝÉÊ ×ÙÈÏÄ ÉÚ Emacs). ÷ ÔÁËÉÈ ÓÉÓÔÅÍÁ ÄÌÑ ×ÏÚ×ÒÁÔÁ × Emacs ×ÁÍ ÎÕÖÎÏ -ÉÓÐÏÌØÚÏ×ÁÔØ ËÏÍÁÎÄÕ `exit'. +ÓÅÓÓÉÀ Emacs ÐÏÚÖÅ. ëÏÇÄÁ Emacs ÚÁÐÕÓËÁÅÔÓÑ ÎÁ ÔÅËÓÔÏ×ÏÍ ÔÅÒÍÉÎÁÌÅ, ËÏÍÁÎÄÁ +C-z "ÐÒÉÏÓÔÁÎÁ×ÌÉ×ÁÅÔ" ("suspends") Emacs, Ô.Å. ÏÎÁ ×ÏÚ×ÒÁÝÁÅÔ ×ÁÓ × ËÏÍÁÎÄÎÙÊ +ÐÒÏÃÅÓÓÏÒ (shell), ÎÏ ÎÅ ÚÁËÒÙ×ÁÀÔ Emacs. ÷ ÂÏÌØÛÉÎÓÔ×Å ËÏÍÁÎÄÎÙÈ ÐÒÏÃÅÓÓÏÒÏ× +×Ù ÍÏÖÅÔÅ ×ÅÒÎÕÔØÓÑ × Emacs, ÉÓÐÏÌØÚÕÑ ËÏÍÁÎÄÕ `fg', `%emacs' ÉÌÉ `exit'. þÔÏÂÙ ÐÏËÉÎÕÔØ Emacs ÉÓÐÏÌØÚÕÊÔÅ ËÏÍÁÎÄÕ C-x C-c. ïÂÙÞÎÏ ÜÔÏ ÎÕÖÎÏ ÔÏÇÄÁ, -ËÏÇÄÁ ×Ù ÈÏÔÉÔÅ ÚÁËÏÎÞÉÔØ ÓÅÁÎÓ ÒÁÂÏÔÙ Ó ËÏÍÐØÀÔÅÒÏÍ. üÔÏ ÓÏÞÅÔÁÎÉÅ ÔÁËÖÅ -ÉÓÐÏÌØÚÕÅÔÓÑ, ÞÔÏÂÙ ×ÙÊÔÉ ÉÚ Emacs, ×ÙÚ×ÁÎÎÏÇÏ ÉÚ ÐÏÞÔÏ×ÏÊ ÐÒÏÇÒÁÍÍÙ, ÉÌÉ +ËÏÇÄÁ ×Ù ÈÏÔÉÔÅ ÚÁËÏÎÞÉÔØ ÓÅÁÎÓ ÒÁÂÏÔÙ Ó ËÏÍÐØÀÔÅÒÏÍ. üÔÏ ÓÏÞÅÔÁÎÉÅ ÔÁËÖÅ +ÉÓÐÏÌØÚÕÅÔÓÑ, ÞÔÏÂÙ ×ÙÊÔÉ ÉÚ Emacs, ×ÙÚ×ÁÎÎÏÇÏ ÉÚ ÐÏÞÔÏ×ÏÊ ÐÒÏÇÒÁÍÍÙ ÉÌÉ ÄÒÕÇÏÊ ÕÔÉÌÉÔÙ, ËÏÔÏÒÁÑ ÍÏÖÅÔ ÎÅ ÚÎÁÔØ, ËÁË ÓÐÒÁ×ÉÔØÓÑ Ó ÐÒÉÏÓÔÁÎÏ×ÌÅÎÎÙÍ -Emacs. ïÂÙÞÎÏ, ÅÓÌÉ ×Ù ÎÅ ÓÏÂÉÒÁÅÔÅÓØ ×ÙÈÏÄÉÔØ ÉÚ ÓÉÓÔÅÍÙ, ÔÏ ÌÕÞÛÅ -ÐÒÉÏÓÔÁÎÏ×ÉÔØ Emacs, ÉÓÐÏÌØÚÕÑ C-z ×ÍÅÓÔÏ ÔÏÇÏ, ÞÔÏÂÙ ÐÏËÉÄÁÔØ ÅÇÏ ÓÏ×ÓÅÍ. +Emacs. ïÂÙÞÎÏ, ÅÓÌÉ ×Ù ÎÅ ÓÏÂÉÒÁÅÔÅÓØ ×ÙÈÏÄÉÔØ ÉÚ ÓÉÓÔÅÍÙ, ÔÏ ÌÕÞÛÅ +ÐÒÉÏÓÔÁÎÏ×ÉÔØ Emacs, ÉÓÐÏÌØÚÕÑ C-z, ×ÍÅÓÔÏ ÔÏÇÏ, ÞÔÏÂÙ ÐÏËÉÄÁÔØ ÅÇÏ ÓÏ×ÓÅÍ. óÕÝÅÓÔ×ÕÅÔ ÏÞÅÎØ ÍÎÏÇÏ ËÏÍÁÎÄ, ÉÓÐÏÌØÚÕÀÝÉÈ ÐÒÅÆÉËÓ C-x. ÷Ù ÕÖÅ ÉÚÕÞÉÌÉ ÓÌÅÄÕÀÝÉÅ ËÏÍÁÎÄÙ: C-x C-f ïÔËÒÙÔØ ÆÁÊÌ C-x C-s óÏÈÒÁÎÉÔØ ÆÁÊÌ - C-x s óÏÈÒÁÎÉÔØ ÎÅËÏÔÏÒÙÅ ÆÁÊÌÙ + C-x s óÏÈÒÁÎÉÔØ ÎÅËÏÔÏÒÙÅ ÆÁÊÌÙ C-x C-b óÐÉÓÏË ÂÕÆÅÒÏ× - C-x b ðÅÒÅËÌÀÞÉÔØÓÑ × ÂÕÆÅÒ + C-x b ðÅÒÅËÌÀÞÉÔØÓÑ × ÂÕÆÅÒ C-x C-c ÷ÙÈÏÄ ÉÚ Emacs - C-x 1 õÄÁÌÑÅÔ ×ÓÅ ÏËÎÁ ËÒÏÍÅ ÏÄÎÏÇÏ - C-x u ïÔÍÅÎÁ + C-x 1 õÄÁÌÉÔØ ×ÓÅ ÏËÎÁ, ËÒÏÍÅ ÔÅËÕÝÅÇÏ + C-x u ïÔÍÅÎÁ ËÏÍÁÎÄ -éÍÅÎÏ×ÁÎÎÙÅ ËÏÍÁÎÄÙ -- ÜÔÏ ËÏÍÁÎÄÙ, ËÏÔÏÒÙÅ ÉÓÐÏÌØÚÕÀÔÓÑ ÇÏÒÁÚÄÏ ÒÅÖÅ, ÉÌÉ -ÉÓÐÏÌØÚÕÀÔÓÑ ÔÏÌØËÏ × ÏÐÒÅÄÅÌÅÎÎÙÈ ÒÅÖÉÍÁÈ. ÷ ËÁÞÅÓÔ×Å ÐÒÉÍÅÒÁ ÍÏÖÎÏ +ðÏÉÍÅÎÏ×ÁÎÎÙÅ ËÏÍÁÎÄÙ -- ÜÔÏ ËÏÍÁÎÄÙ, ËÏÔÏÒÙÅ ÉÓÐÏÌØÚÕÀÔÓÑ ÇÏÒÁÚÄÏ ÒÅÖÅ, +ÉÌÉ ÉÓÐÏÌØÚÕÀÔÓÑ ÔÏÌØËÏ × ÏÐÒÅÄÅÌÅÎÎÙÈ ÒÅÖÉÍÁÈ. ÷ ËÁÞÅÓÔ×Å ÐÒÉÍÅÒÁ ÍÏÖÎÏ ÐÒÉ×ÅÓÔÉ ËÏÍÁÎÄÕ ÚÁÍÅÎÙ ÓÔÒÏËÉ, ËÏÔÏÒÁÑ ÚÁÍÅÎÑÅÔ ÏÄÎÕ ÓÔÒÏËÕ ÎÁ ÄÒÕÇÕÀ ×Ï -×ÓÅÍ ÔÅËÓÔÅ. ëÏÇÄÁ ×Ù ÎÁÂÅÒÅÔÅ M-x, Emacs ÐÒÅÄÌÏÖÉÔ ×ÁÍ ××ÅÓÔÉ ÉÍÑ ËÏÍÁÎÄÙ; -× ÎÁÛÅÍ ÓÌÕÞÁÅ, ÜÔÏ ËÏÍÁÎÄÁ "replace-string". îÁÂÅÒÉÔÅ ÌÉÛØ "repl s", -É Emacs ÄÏÐÏÌÎÉÔ ÉÍÑ. ( -- ÜÔÏ ËÌÁ×ÉÛÁ ÔÁÂÕÌÑÃÉÉ, ÏÂÙÞÎÏ ÎÁÈÏÄÑÝÁÑÓÑ -×ÙÛÅ ËÌÁ×ÉÛ CapsLock ÉÌÉ Shift × ÌÅ×ÏÊ ÞÁÓÔÉ ËÌÁ×ÉÁÔÕÒÙ). úÁ×ÅÒÛÉÔÅ ÉÍÑ +×ÓÅÍ ÔÅËÓÔÅ. ëÏÇÄÁ ×Ù ÎÁÂÅÒÅÔÅ M-x, Emacs ÐÒÅÄÌÏÖÉÔ ×ÁÍ ××ÅÓÔÉ ÉÍÑ ËÏÍÁÎÄÙ; +× ÎÁÛÅÍ ÓÌÕÞÁÅ ÜÔÏ ËÏÍÁÎÄÁ "replace-string". îÁÂÅÒÉÔÅ ÌÉÛØ "repl s", +É Emacs ÄÏÐÏÌÎÉÔ ÉÍÑ. ( -- ÜÔÏ ËÌÁ×ÉÛÁ ÔÁÂÕÌÑÃÉÉ, ÏÂÙÞÎÏ ÎÁÈÏÄÑÝÁÑÓÑ +ÎÁÄ ËÌÁ×ÉÛÁÍÉ CapsLock ÉÌÉ Shift × ÌÅ×ÏÊ ÞÁÓÔÉ ËÌÁ×ÉÁÔÕÒÙ.) úÁ×ÅÒÛÉÔÅ ÉÍÑ ÎÁÖÁÔÉÅÍ . ëÏÍÁÎÄÁ ÚÁÍÅÎÙ ÓÔÒÏËÉ (replace-string) ÔÒÅÂÕÅÔ Ä×Á ÁÒÇÕÍÅÎÔÁ -- ÓÔÒÏËÕ, ËÏÔÏÒÁÑ ÂÕÄÅÔ ÚÁÍÅÎÅÎÁ, É ÓÔÒÏËÕ, ÎÁ ËÏÔÏÒÕÀ ÎÕÖÎÏ ÚÁÍÅÎÉÔØ. ÷Ù ÄÏÌÖÎÙ ÚÁ×ÅÒÛÁÔØ ËÁÖÄÙÊ ÁÒÇÕÍÅÎÔ ××ÏÄÏÍ . ->> ðÅÒÅÍÅÓÔÉÔÅ ËÕÒÓÏÒ ÎÁ Ä×Å ÐÕÓÔÙÅ ÓÔÒÏËÉ ÎÉÖÅ ÜÔÏÊ. +>> ðÅÒÅÍÅÓÔÉÔÅ ËÕÒÓÏÒ Ë ÐÕÓÔÏÊ ÓÔÒÏËÅ ÎÁ Ä×Å ÓÔÒÏÞËÉ ÎÉÖÅ ÜÔÏÊ. îÁÂÅÒÉÔÅ M-x repl sÆÁÊÌÆÁÊÌÙ. - úÁÍÅÔØÔÅ, ËÁË ÜÔÁ ÓÔÒÏËÁ ÉÚÍÅÎÉÔÓÑ: ×Ù ÚÁÍÅÎÉÔÅ ÓÌÏ×Ï Æ-Á-Ê-Ì + úÁÍÅÔØÔÅ, ËÁË ÜÔÁ ÓÔÒÏÞËÁ ÉÚÍÅÎÉÔÓÑ: ×Ù ÚÁÍÅÎÉÔÅ ÓÌÏ×Ï Æ-Á-Ê-Ì ÓÌÏ×ÏÍ "ÆÁÊÌÙ" ×ÅÚÄÅ, ÇÄÅ ÏÎÏ ×ÓÔÒÅÔÉÔÓÑ, ÎÉÖÅ ÐÏÚÉÃÉÉ ËÕÒÓÏÒÁ. * á÷ôïíáôéþåóëïå óïèòáîåîéå --------------------------- -ëÏÇÄÁ ×Ù ÉÚÍÅÎÑÅÔÅ ÆÁÊÌ, ÎÏ ÎÅ ÓÏÈÒÁÎÑÅÔÅ ÅÇÏ, ÔÏ × ÓÌÕÞÁÅ ËÒÁÈÁ ÓÉÓÔÅÍÙ ×Ù -ÍÏÖÅÔÅ ÐÏÔÅÒÑÔØ ÉÎÆÏÒÍÁÃÉÀ. þÔÏÂÙ ÚÁÝÉÔÉÔØ ×ÁÓ ÏÔ ÜÔÏÇÏ, Emacs ÐÅÒÉÏÄÉÞÅÓËÉ +ëÏÇÄÁ ×Ù ÉÚÍÅÎÑÅÔÅ ÆÁÊÌ, ÎÏ ÎÅ ÓÏÈÒÁÎÑÅÔÅ ÅÇÏ, ÔÏ × ÓÌÕÞÁÅ ÚÁ×ÉÓÁÎÉÑ ÓÉÓÔÅÍÙ +×Ù ÍÏÖÅÔÅ ÐÏÔÅÒÑÔØ ÉÎÆÏÒÍÁÃÉÀ. þÔÏÂÙ ÚÁÝÉÔÉÔØ ×ÁÓ ÏÔ ÜÔÏÇÏ, Emacs ÐÅÒÉÏÄÉÞÅÓËÉ ÓÏÈÒÁÎÑÅÔ ËÁÖÄÙÊ ÆÁÊÌ, ËÏÔÏÒÙÊ ×Ù ÒÅÄÁËÔÉÒÕÅÔÅ. á×ÔÏÍÁÔÉÞÅÓËÏÅ ÓÏÈÒÁÎÅÎÉÅ -ÐÒÏÉÓÈÏÄÉÔ × ÆÁÊÌ, ÉÍÑ ËÏÔÏÒÏÇÏ ÔÁËÏÅ ÖÅ, ÎÏ ÎÁÞÉÎÁÅÔÓÑ É ÚÁËÁÎÞÉ×ÁÅÔÓÑ -ÓÉÍ×ÏÌÏÍ "#"; ÎÁÐÒÉÍÅÒ, ÅÓÌÉ ×ÁÛ ÆÁÊÌ ÎÁÚÙ×ÁÅÔÓÑ "hello.c", ÔÏ Á×ÔÏÍÁÔÉÞÅÓËÉ -ÓÏÈÒÁÎÅÎÎÙÊ ÆÁÊÌ ÂÕÄÅÔ ÎÁÚÙ×ÁÔØÓÑ "#hello.c#". ëÏÇÄÁ ×Ù ÓÏÈÒÁÎÉÔÅ ÆÁÊÌ -ÏÂÙÞÎÙÍ ÓÐÏÓÏÂÏÍ, Emacs ÕÄÁÌÉÔ Á×ÔÏÍÁÔÉÞÅÓËÉ ÓÏÈÒÁÎÅÎÎÙÊ ÆÁÊÌ. +ÐÒÏÉÓÈÏÄÉÔ × ÆÁÊÌ, ÉÍÑ ÐÏÌÕÞÁÅÔÓÑ ÉÚ ÉÍÅÎÉ ÒÅÄÁËÔÉÒÕÅÍÏÇÏ ÆÁÊÌÁ ÄÏÂÁ×ÌÅÎÉÅÍ +ÓÉÍ×ÏÌÁ "#" × ÎÁÞÁÌÅ É × ËÏÎÃÅ; ÎÁÐÒÉÍÅÒ, ÅÓÌÉ ×ÁÛ ÆÁÊÌ ÎÁÚÙ×ÁÅÔÓÑ "hello.c", +ÔÏ Á×ÔÏÍÁÔÉÞÅÓËÉ ÓÏÈÒÁÎÅÎÎÙÊ ÆÁÊÌ ÂÕÄÅÔ ÎÁÚÙ×ÁÔØÓÑ "#hello.c#". ëÏÇÄÁ ×Ù +ÓÏÈÒÁÎÉÔÅ ÆÁÊÌ ÏÂÙÞÎÙÍ ÓÐÏÓÏÂÏÍ, Emacs ÕÄÁÌÑÅÔ Á×ÔÏÍÁÔÉÞÅÓËÉ ÓÏÈÒÁÎÅÎÎÙÊ ÆÁÊÌ. -åÓÌÉ ÓÉÓÔÅÍÁ ÚÁ×ÉÓÌÁ, ÔÏ ×Ù ÍÏÖÅÔÅ ×ÏÓÓÔÁÎÏ×ÉÔØ ×ÁÛÉ ÉÚÍÅÎÅÎÉÑ, ËÏÔÏÒÙÊ ÂÙÌÉ +åÓÌÉ ÓÉÓÔÅÍÁ ÚÁ×ÉÓÌÁ, ÔÏ ×Ù ÍÏÖÅÔÅ ×ÏÓÓÔÁÎÏ×ÉÔØ ×ÁÛÉ ÉÚÍÅÎÅÎÉÑ, ËÏÔÏÒÙÅ ÂÙÌÉ ÓÏÈÒÁÎÅÎÙ Á×ÔÏÍÁÔÉÞÅÓËÉ, ÐÕÔÅÍ ÏÔËÒÙÔÉÑ ÎÕÖÎÏÇÏ ÆÁÊÌÁ (ÆÁÊÌÁ, ËÏÔÏÒÙÊ ×Ù -ÒÅÄÁËÔÉÒÏ×ÁÌÉ, ÎÅ ÓÏÈÒÁÎÅÎÎÏÇÏ), É ÚÁÔÅÍ ÎÁÂÒÁ× M-x recover-file. -ëÏÇÄÁ Õ ×ÁÓ ÚÁÐÒÏÓÑÔ ÐÏÄÔ×ÅÒÖÄÅÎÉÅ, ÎÁÂÅÒÉÔÅ yes, ÞÔÏÂÙ +ÒÅÄÁËÔÉÒÏ×ÁÌÉ, ÎÏ ÎÅ ÓÏÈÒÁÎÉÌÉ), É ÚÁÔÅÍ ÎÁÂÒÁ× M-x recover-file. +ëÏÇÄÁ Õ ×ÁÓ ÚÁÐÒÏÓÑÔ ÐÏÄÔ×ÅÒÖÄÅÎÉÅ, ÎÁÂÅÒÉÔÅ yes, ÞÔÏÂÙ ×ÏÓÓÔÁÎÏ×ÉÔØ Á×ÔÏÍÁÔÉÞÅÓËÉ ÓÏÈÒÁÎÅÎÎÙÅ ÄÁÎÎÙÅ. -* ïâìáóôø üèï (ECHO AREA) +* ïâìáóôø üèá (ECHO AREA) ------------------------- åÓÌÉ Emacs ×ÉÄÉÔ, ÞÔÏ ×Ù ÍÅÄÌÅÎÎÏ ÎÁÂÉÒÁÅÔÅ ËÏÍÁÎÄÙ ÉÚ ÎÅÓËÏÌØËÉÈ ÓÉÍ×ÏÌÏ×, -ÔÏ ÏÎ ÐÏËÁÚÙ×ÁÅÔ ÉÈ ×ÁÍ ×ÎÉÚÕ ÜËÒÁÎÁ, × ÏÂÌÁÓÔÉ ÎÁÚÙ×ÁÅÍÏÊ "ÏÂÌÁÓÔØ ÜÈÏ". -ïÂÌÁÓÔØ ÜÈÏ -- ÜÔÏ ÓÁÍÁÑ ÎÉÖÎÑÑ ÓÔÒÏËÁ ÜËÒÁÎÁ. +ÔÏ ÏÎ ÐÏËÁÚÙ×ÁÅÔ ÉÈ ×ÁÍ ×ÎÉÚÕ ÜËÒÁÎÁ, × ÏÂÌÁÓÔÉ ÎÁÚÙ×ÁÅÍÏÊ "ÏÂÌÁÓÔØ ÜÈÁ". +ïÂÌÁÓÔØ ÜÈÁ -- ÜÔÏ ÓÁÍÁÑ ÎÉÖÎÑÑ ÓÔÒÏËÁ ÏËÎÁ Emacs. * óôòïëá óïóôïñîéñ ------------------ -óÔÒÏËÁ ÓÒÁÚÕ ÎÁÄ ÏÂÌÁÓÔØÀ ÜÈÏ ÎÁÚÙ×ÁÅÔÓÑ "ÓÔÒÏËÏÊ ÓÏÓÔÏÑÎÉÑ". ÷ÙÇÌÑÄÉÔ ÜÔÁ +óÔÒÏËÁ ÓÒÁÚÕ ÎÁÄ ÏÂÌÁÓÔØÀ ÜÈÁ ÎÁÚÙ×ÁÅÔÓÑ "ÓÔÒÏËÏÊ ÓÏÓÔÏÑÎÉÑ". ÷ÙÇÌÑÄÉÔ ÜÔÁ ÓÔÒÏËÁ ÐÒÉÍÅÒÎÏ ÔÁË: --:** TUTORIAL.ru 63% L749 (Fundamental)----------------------- @@ -767,51 +761,50 @@ Emacs. üÔÁ ÓÔÒÏËÁ ÓÏÏÂÝÁÅÔ ÐÏÌÅÚÎÕÀ ÉÎÆÏÒÍÁÃÉÀ Ï ÓÏÓÔÏÑÎÉÉ Emacs É ÔÅËÓÔÁ, ËÏÔÏÒÙÊ ×Ù ÒÅÄÁËÔÉÒÕÅÔÅ. -÷Ù ÕÖÅ ÚÎÁÅÔÅ, ÞÔÏ ÏÚÎÁÞÁÅÔ ÉÍÑ ÆÁÊÌÁ -- ÜÔÏ ÆÁÊÌ, ËÏÔÏÒÙÊ ×Ù ÏÔËÒÙÌÉ. NN% -ÐÏËÁÚÙ×ÁÅÔ ÔÅËÕÝÕÀ ÐÏÚÉÃÉÀ ËÕÒÓÏÒÁ × ÔÅËÓÔÅ; ÜÔÏ ÏÚÎÁÞÁÅÔ ÞÔÏ NN ÐÒÏÃÅÎÔÏ× -ÔÅËÓÔÁ ÎÁÈÏÄÑÔÓÑ ×ÙÛÅ, ÞÅÍ ÎÁÞÁÌÏ ÜËÒÁÎÁ. åÓÌÉ ÐÅÒ×ÁÑ ÓÔÒÏËÁ ×ÓÅÇÏ ÔÅËÓÔÁ -ÎÁÈÏÄÉÔÓÑ × ÐÅÒ×ÏÊ ÓÔÒÏËÅ ÜËÒÁÎÁ, ×Ù ÔÁÍ Õ×ÉÄÉÔÅ "Top" ×ÍÅÓÔÏ "0%". åÓÌÉ ÎÁ -ÜËÒÁÎÅ ÏÔÏÂÒÁÖÁÅÔÓÑ ÐÏÓÌÅÄÎÑÑ ÓÔÒÏËÁ, ÔÏ ÂÕÄÅÔ ÏÔÏÂÒÁÖÅÎÏ "Bot". åÓÌÉ ÔÅËÓÔ -ÎÁÓÔÏÌØËÏ ÍÁÌ, ÞÔÏ ×ÅÓØ ×ÍÅÝÁÅÔÓÑ × ÜËÒÁÎ, ÔÏ ÓÔÒÏËÁ ÓÏÓÔÏÑÎÉÑ ÓÏÏÂÝÉÔ +÷Ù ÕÖÅ ÚÎÁÅÔÅ, ÞÔÏ ÏÚÎÁÞÁÅÔ ÉÍÑ ÆÁÊÌÁ -- ÜÔÏ ÆÁÊÌ, ËÏÔÏÒÙÊ ×Ù ÏÔËÒÙÌÉ. NN% +ÐÏËÁÚÙ×ÁÅÔ ×ÁÛÕ ÔÅËÕÝÕÀ ÐÏÚÉÃÉÀ × ÔÅËÓÔÅ; ÜÔÏ ÏÚÎÁÞÁÅÔ ÞÔÏ NN ÐÒÏÃÅÎÔÏ× +ÔÅËÓÔÁ ÎÁÈÏÄÑÔÓÑ ×ÙÛÅ ÎÁÞÁÌÁ ÏËÎÁ. åÓÌÉ ÐÏËÁÚÁÎÏ ÎÁÞÁÌÏ ÔÅËÓÔÁ, ×Ù Õ×ÉÄÉÔÅ +"Top" ×ÍÅÓÔÏ "0%". åÓÌÉ ÐÏËÁÚÁÎ ËÏÎÅà ÔÅËÓÔÁ, ÔÏ ÂÕÄÅÔ ÏÔÏÂÒÁÖÅÎÏ "Bot". +åÓÌÉ ÔÅËÓÔ ÎÁÓÔÏÌØËÏ ÍÁÌ, ÞÔÏ ÐÏËÁÚÁÎ ×ÅÓØ, ÔÏ ÓÔÒÏËÁ ÓÏÓÔÏÑÎÉÑ ÓÏÏÂÝÉÔ "All". âÕË×Á L É ÃÉÆÒÙ ÐÏËÁÚÙ×ÁÀÔ ÐÏÚÉÃÉÀ ÄÒÕÇÉÍ ÓÐÏÓÏÂÏÍ -- ÏÎÉ ÐÏËÁÚÙ×ÁÀÔ ÎÏÍÅÒ ÓÔÒÏËÉ × ËÏÔÏÒÏÊ ÎÁÈÏÄÉÔÓÑ ËÕÒÓÏÒ. -ú×ÅÚÄÏÞËÉ × ÎÁÞÁÌÅ ÓÔÒÏËÉ ÏÚÎÁÞÁÀÔ, ÞÔÏ ×Ù ÉÚÍÅÎÑÌÉ ÔÅËÓÔ. ðÒÉ ÏÔËÒÙÔÉÉ ÉÌÉ -ÓÏÈÒÁÎÅÎÉÉ ÆÁÊÌÁ, ÜÔÁ ÞÁÓÔØ ÓÔÒÏËÉ ÂÕÄÅÔ ÓÏÄÅÒÖÁÔØ ÎÅ Ú×ÅÚÄÏÞËÉ, Á ÔÉÒÅ. +ú×ÅÚÄÏÞËÉ × ÎÁÞÁÌÅ ÓÔÒÏËÉ ÏÚÎÁÞÁÀÔ, ÞÔÏ ×Ù ÉÚÍÅÎÑÌÉ ÔÅËÓÔ. ðÒÉ ÏÔËÒÙÔÉÉ ÉÌÉ +ÓÏÈÒÁÎÅÎÉÉ ÆÁÊÌÁ ÜÔÁ ÞÁÓÔØ ÓÔÒÏËÉ ÂÕÄÅÔ ÓÏÄÅÒÖÁÔØ ÎÅ Ú×ÅÚÄÏÞËÉ, Á ÔÉÒÅ. -þÁÓÔØ ÓÔÒÏËÉ ÓÔÁÔÕÓÁ ×ÎÕÔÒÉ ÓËÏÂÏË ÓÏÏÂÝÁÅÔ ×ÁÍ Ï ÒÅÖÉÍÅ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ, -ËÏÔÏÒÙÍ ×Ù ÓÅÊÞÁÓ ÉÓÐÏÌØÚÕÅÔÅ. óÔÁÎÄÁÒÔÎÙÊ ÒÅÖÉÍ -- Fundamental, ÏÎ -ÉÓÐÏÌØÚÕÅÔÓÑ É ÄÁÎÎÏÍ ÄÏËÕÍÅÎÔÅ. üÔÏ ÐÒÉÍÅÒ "ÏÓÎÏ×ÎÏÇÏ ÒÅÖÉÍÁ" ("major +þÁÓÔØ ÓÔÒÏËÉ ÓÏÓÔÏÑÎÉÑ ×ÎÕÔÒÉ ÓËÏÂÏË ÓÏÏÂÝÁÅÔ ×ÁÍ Ï ÒÅÖÉÍÅ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ, +ËÏÔÏÒÙÊ ×Ù ÓÅÊÞÁÓ ÉÓÐÏÌØÚÕÅÔÅ. óÔÁÎÄÁÒÔÎÙÊ, ÉÌÉ ÂÁÚÏ×ÙÊ, ÒÅÖÉÍ -- Fundamental, +ÏÎ ÉÓÐÏÌØÚÕÅÔÓÑ É × ÄÁÎÎÏÍ ÕÞÅÂÎÉËÅ. üÔÏ ÐÒÉÍÅÒ "ÏÓÎÏ×ÎÏÇÏ ÒÅÖÉÍÁ" ("major mode"). Emacs ÉÍÅÅÔ ÍÎÏÇÏ ÒÁÚÌÉÞÎÙÈ ÏÓÎÏ×ÎÙÈ ÒÅÖÉÍÏ×. îÅËÏÔÏÒÙÅ ÉÚ ÒÅÖÉÍÏ× ÉÓÐÏÌØÚÕÀÔÓÑ ÄÌÑ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ ÔÅËÓÔÁ ÎÁ ÒÁÚÌÉÞÎÙÈ ÑÚÙËÁÈ É/ÉÌÉ ÒÁÚÌÉÞÎÙÈ -×ÉÄÏ× ÔÅËÓÔÁ, ÔÁËÉÅ ËÁË Lisp-ÒÅÖÉÍ, Text-ÒÅÖÉÍ É ÐÒ. ÷ ËÁÖÄÙÊ ÍÏÍÅÎÔ +×ÉÄÏ× ÔÅËÓÔÁ, ÔÁËÉÅ ËÁË Lisp-ÒÅÖÉÍ, Text-ÒÅÖÉÍ É ÐÒ. ÷ ËÁÖÄÙÊ ÍÏÍÅÎÔ ×ÒÅÍÅÎÉ ÄÅÊÓÔ×ÕÅÔ ÔÏÌØËÏ ÏÄÉÎ ÏÓÎÏ×ÎÏÊ ÒÅÖÉÍ, É ÅÇÏ ÎÁÚ×ÁÎÉÅ ×Ù ÍÏÖÅÔÅ ÎÁÊÔÉ × ÓËÏÂËÁÈ -- ÔÁÍ, ÇÄÅ ÓÅÊÞÁÓ ÎÁÈÏÄÉÔÓÑ ÓÌÏ×Ï "Fundamental" (ÂÁÚÏ×ÙÊ). -ëÁÖÄÙÊ ÏÓÎÏ×ÎÏÊ ÒÅÖÉÍ ÚÁÓÔÁ×ÌÑÅÔ ÎÅËÏÔÏÒÙÅ ËÏÍÁÎÄÙ ×ÅÓÔÉ ÓÅÂÑ ÎÅÍÎÏÇÏ ÐÏ -ÄÒÕÇÏÍÕ. îÁÐÒÉÍÅÒ, ÜÔÏ ËÏÍÁÎÄÙ ÓÏÚÄÁÎÉÑ ËÏÍÍÅÎÔÁÒÉÅ× × ÐÒÏÇÒÁÍÍÅ, É +ëÁÖÄÙÊ ÏÓÎÏ×ÎÏÊ ÒÅÖÉÍ ÚÁÓÔÁ×ÌÑÅÔ ÎÅËÏÔÏÒÙÅ ËÏÍÁÎÄÙ ×ÅÓÔÉ ÓÅÂÑ ÎÅÍÎÏÇÏ +ÐÏ-ÄÒÕÇÏÍÕ. îÁÐÒÉÍÅÒ, ÜÔÏ ËÏÍÁÎÄÙ ÓÏÚÄÁÎÉÑ ËÏÍÍÅÎÔÁÒÉÅ× × ÐÒÏÇÒÁÍÍÅ, É ÐÏÓËÏÌØËÕ × ËÁÖÄÏÍ ÑÚÙËÅ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ ËÏÍÍÅÎÔÁÒÉÉ ÚÁÐÉÓÙ×ÁÀÔÓÑ -ÐÏ-Ó×ÏÅÍÕ, ÔÏ É ËÁÖÄÙÊ ÏÓÎÏ×ÎÏÊ ÒÅÖÉÍ ×ÓÔÁ×ÌÑÅÔ ÉÈ ÐÏ-ÒÁÚÎÏÍÕ. ëÁÖÄÙÊ -ÏÓÎÏ×ÎÏÊ ÒÅÖÉÍ ÉÍÅÅÔ ÉÍÅÎÏ×ÁÎÎÕÀ ËÏÍÁÎÄÕ, ËÏÔÏÒÁÑ ×ËÌÀÞÁÅÔ ÅÇÏ. îÁÐÒÉÍÅÒ, +ÐÏ-Ó×ÏÅÍÕ, ÔÏ É ËÁÖÄÙÊ ÏÓÎÏ×ÎÏÊ ÒÅÖÉÍ ×ÓÔÁ×ÌÑÅÔ ÉÈ ÐÏ-ÒÁÚÎÏÍÕ. ëÁÖÄÙÊ +ÏÓÎÏ×ÎÏÊ ÒÅÖÉÍ ÉÍÅÅÔ ÉÍÅÎÏ×ÁÎÎÕÀ ËÏÍÁÎÄÕ, ËÏÔÏÒÁÑ ×ËÌÀÞÁÅÔ ÅÇÏ. îÁÐÒÉÍÅÒ, M-x fundamental-mode -- ÜÔÏ ËÏÍÁÎÄÁ, ËÏÔÏÒÁÑ ×ËÌÀÞÁÅÔ ÂÁÚÏ×ÙÊ (Fundamental) ÒÅÖÉÍ. åÓÌÉ ×Ù ÒÅÄÁËÔÉÒÕÅÔÅ ÔÅËÓÔ ÎÁ ÅÓÔÅÓÔ×ÅÎÎÏÍ ÑÚÙËÅ, ÎÁÐÒÉÍÅÒ, ËÁË ÜÔÏÔ ÆÁÊÌ, -ÔÏ ×Ù ×ÅÒÏÑÔÎÏ ÄÏÌÖÎÙ ÐÅÒÅËÌÀÞÉÔØÓÑ × Text-ÒÅÖÉÍ. +ÔÏ ×Ù, ×ÅÒÏÑÔÎÏ ÄÏÌÖÎÙ ÐÅÒÅËÌÀÞÉÔØÓÑ × ÒÅÖÉÍ Text. >> îÁÂÅÒÉÔÅ M-x text mode. îÅ ×ÏÌÎÕÊÔÅÓØ, ÎÉ ÏÄÎÁ ÉÚ ×ÙÕÞÅÎÎÙÈ ×ÁÍÉ ËÏÍÁÎÄ Emacs ÎÅ ÉÚÍÅÎÉÌÁÓØ. îÏ ×Ù ÍÏÖÅÔÅ ÚÁÍÅÔÉÔØ, ÞÔÏ M-f É M-b ÔÅÐÅÒØ ÒÁÓÓÍÁÔÒÉ×ÁÀÔ ÁÐÏÓÔÒÏÆÙ ËÁË ÞÁÓÔØ -ÓÌÏ×Á. òÁÎÅÅ, × ÂÁÚÏ×ÏÍ ÒÅÖÉÍÅ (Fundamental mode), M-f É M-b ÐÏÎÉÍÁÌÉ +ÓÌÏ×Á. òÁÎÅÅ, × ÂÁÚÏ×ÏÍ ÒÅÖÉÍÅ (Fundamental mode), M-f É M-b ÐÏÎÉÍÁÌÉ ÁÐÏÓÔÒÏÆÙ ËÁË ÒÁÚÄÅÌÉÔÅÌÉ ÓÌÏ×. -ïÓÎÏ×ÎÏÊ ÒÅÖÉÍ ÏÂÙÞÎÏ ÄÅÌÁÅÔ ÎÅÂÏÌØÛÉÅ ÉÚÍÅÎÅÎÉÑ, ÔÁËÉÅ ËÁË: ÂÏÌØÛÉÎÓÔ×Ï -ËÏÍÁÎÄ ÄÅÌÁÀÔ "ÏÄÎÕ É ÔÕ ÖÅ ÒÁÂÏÔÕ" × ËÁÖÄÏÍ ÉÚ ÒÅÖÉÍÏ×, ÎÏ ÉÈ ÄÅÊÓÔ×ÉÅ +ëÁË ÐÒÁ×ÉÌÏ, ÏÓÎÏ×ÎÏÊ ÒÅÖÉÍ ÐÒÏÉÚ×ÏÄÉÔ ÐÏÄÏÂÎÙÅ ÎÅÚÎÁÞÉÔÅÌØÎÙÅ ÉÚÍÅÎÅÎÉÑ: +ÂÏÌØÛÉÎÓÔ×Ï ËÏÍÁÎÄ "ÒÁÂÏÔÁÅÔ" ÏÄÉÎÁËÏ×Ï × ËÁÖÄÏÍ ÉÚ ÒÅÖÉÍÏ×, ÎÏ ÉÈ ÄÅÊÓÔ×ÉÅ ÏÔÌÉÞÁÅÔÓÑ ËÁËÏÊ-ÎÉÂÕÄØ ÍÅÌÏÞØÀ. äÌÑ ÐÒÏÓÍÏÔÒÁ ÄÏËÕÍÅÎÔÁÃÉÉ Ï ÔÅËÕÝÅÍ ÏÓÎÏ×ÎÏÍ ÒÅÖÉÍÅ, ÎÁÖÍÉÔÅ C-h m. @@ -822,39 +815,40 @@ M-x fundamental-mode -- >> îÁÂÅÒÉÔÅ C-x 1, ÞÔÏÂÙ ÕÂÒÁÔØ ÄÏËÕÍÅÎÔÁÃÉÀ Ó ÇÌÁÚ ÄÏÌÏÊ :) ïÓÎÏ×ÎÏÊ ÒÅÖÉÍ ÎÁÚÙ×ÁÅÔÓÑ ÏÓÎÏ×ÎÙÍ ÐÏÔÏÍÕ, ÞÔÏ ÔÁËÖÅ ÓÕÝÅÓÔ×ÕÀÔ -ÄÏÐÏÌÎÉÔÅÌØÎÙÅ (minor) ÒÅÖÉÍÙ. äÏÐÏÌÎÉÔÅÌØÎÙÅ ÒÅÖÉÍÙ ÎÅ Ñ×ÌÑÀÔÓÑ -ÁÌØÔÅÒÎÁÔÉ×ÁÍÉ ÏÓÎÏ×ÎÙÍ, ÏÎÉ ÔÏÌØËÏ ÎÅÍÎÏÇÏ ÉÚÍÅÎÑÀÔ ÉÈ ÐÏ×ÅÄÅÎÉÅ. ëÁÖÄÙÊ -ÄÏÐÏÌÎÉÔÅÌØÎÙÊ ÒÅÖÉÍ ×ËÌÀÞÁÅÔÓÑ/×ÙËÌÀÞÁÅÔÓÑ ÎÅÚÁ×ÉÓÉÍÏ ÏÔ ÄÒÕÇÉÈ -ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÒÅÖÉÍÏ×, É ÎÅÚÁ×ÉÓÉÍÏ ÏÔ ×ÁÛÅÇÏ ÏÓÎÏ×ÎÏÇÏ ÒÅÖÉÍÁ. ÷Ù ÍÏÖÅÔÅ -ÉÓÐÏÌØÚÏ×ÁÔØ ÏÓÎÏ×ÎÏÊ ÒÅÖÉÍ ÂÅÚ ÄÏÐÏÌÎÉÔÅÌØÎÙÈ, ÉÌÉ Ó ÌÀÂÏÊ ÉÈ ËÏÍÂÉÎÁÃÉÅÊ. +ÄÏÐÏÌÎÉÔÅÌØÎÙÅ, ÉÌÉ ×ÔÏÒÏÓÔÅÐÅÎÎÙÅ, (minor) ÒÅÖÉÍÙ. äÏÐÏÌÎÉÔÅÌØÎÙÅ ÒÅÖÉÍÙ +ÎÅ Ñ×ÌÑÀÔÓÑ ÁÌØÔÅÒÎÁÔÉ×ÁÍÉ ÏÓÎÏ×ÎÙÍ, ÏÎÉ ÔÏÌØËÏ ÎÅÍÎÏÇÏ ÉÚÍÅÎÑÀÔ ÉÈ +ÐÏ×ÅÄÅÎÉÅ. ëÁÖÄÙÊ ÄÏÐÏÌÎÉÔÅÌØÎÙÊ ÒÅÖÉÍ ×ËÌÀÞÁÅÔÓÑ/×ÙËÌÀÞÁÅÔÓÑ ÎÅÚÁ×ÉÓÉÍÏ +ÏÔ ÄÒÕÇÉÈ ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÒÅÖÉÍÏ× É ÎÅÚÁ×ÉÓÉÍÏ ÏÔ ×ÁÛÅÇÏ ÏÓÎÏ×ÎÏÇÏ ÒÅÖÉÍÁ. +÷Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÏÓÎÏ×ÎÏÊ ÒÅÖÉÍ ÂÅÚ ÄÏÐÏÌÎÉÔÅÌØÎÙÈ, ÉÌÉ Ó ÌÀÂÏÊ +ËÏÍÂÉÎÁÃÉÅÊ ÎÅÓËÏÌØËÉÈ ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÒÅÖÉÍÏ×. ïÄÉÎ ÉÚ ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÒÅÖÉÍÏ× ÏÞÅÎØ ÐÏÌÅÚÅÎ, ÏÓÏÂÅÎÎÏ ÄÌÑ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ -ÔÅËÓÔÁ -- ÜÔÏ ÒÅÖÉÍ Á×ÔÏÚÁÐÏÌÎÅÎÉÑ (Auto Fill mode). ëÏÇÄÁ ÜÔÏÔ ÒÅÖÉÍ -×ËÌÀÞÅÎ, ÔÏ Emacs ÒÁÚÒÙ×ÁÅÔ ÓÔÒÏËÉ ÍÅÖÄÕ ÓÌÏ×ÁÍÉ Á×ÔÏÍÁÔÉÞÅÓËÉ, × ÔÅÈ -ÓÌÕÞÁÑÈ ËÏÇÄÁ ×Ù ×ÓÔÁ×ÌÑÅÔÅ ÔÅËÓÔ É ÄÅÌÁÅÔÅ ÓÔÒÏËÉ ÓÌÉÛËÏÍ ÄÌÉÎÎÙÍÉ. +ÔÅËÓÔÁ -- ÜÔÏ ÒÅÖÉÍ Á×ÔÏÚÁÐÏÌÎÅÎÉÑ (Auto Fill mode). ëÏÇÄÁ ÜÔÏÔ ÒÅÖÉÍ +×ËÌÀÞÅÎ, ÔÏ Emacs Á×ÔÏÍÁÔÉÞÅÓËÉ ÒÁÚÒÙ×ÁÅÔ ÓÔÒÏËÕ ÍÅÖÄÕ ÓÌÏ×ÁÍÉ × ÔÅÈ +ÓÌÕÞÁÑÈ, ËÏÇÄÁ ×ÓÔÁ×ÌÅÎÎÙÊ ÔÅËÓÔ ÄÅÌÁÅÔ ÓÔÒÏËÕ ÓÌÉÛËÏÍ ÄÌÉÎÎÏÊ. ÷Ù ÍÏÖÅÔÅ ×ËÌÀÞÉÔØ ÒÅÖÉÍ Á×ÔÏÚÁÐÏÌÎÅÎÉÑ, ÎÁÂÒÁ× M-x auto fill mode. ëÏÇÄÁ ÜÔÏÔ ÒÅÖÉÍ ×ËÌÀÞÅÎ, ÅÇÏ ÍÏÖÎÏ ×ÙËÌÀÞÉÔØ Ó ÐÏÍÏÝØÀ ÔÏÊ ÖÅ ËÏÍÁÎÄÙ -- -M-x auto fill mode. åÓÌÉ ÒÅÖÉÍ ×ËÌÀÞÅÎ, ÔÏ ÔÁËÁÑ ËÏÍÁÎÄÁ ÅÇÏ +M-x auto fill mode. åÓÌÉ ÒÅÖÉÍ ×ËÌÀÞÅÎ, ÔÏ ÔÁËÁÑ ËÏÍÁÎÄÁ ÅÇÏ ×ÙËÌÀÞÉÔ, ÅÓÌÉ ×ÙËÌÀÞÅÎ, ÔÏ ×ËÌÀÞÉÔ. íÙ ÎÁÚÙ×ÁÅÍ ÜÔÏ ËÏÍÁÎÄÏÊ "ÐÅÒÅËÌÀÞÅÎÉÑ ÒÅÖÉÍÁ". >> îÁÂÅÒÉÔÅ M-x auto fill mode. úÁÔÅÍ ××ÏÄÉÔÅ ÓÔÒÏËÕ ÉÚ ÓÌÏ× "ÆÙ×Á " - ÐÏËÁ ÎÅ Õ×ÉÄÉÔÅ, ËÁË ÏÎÁ ÒÁÚÄÅÌÉÔÓÑ ÎÁ Ä×Å ÓÔÒÏËÉ. ÷Ù ÄÏÌÖÎÙ ÐÏÍÅÝÁÔØ - ÐÒÏÂÅÌÙ ÍÅÖÄÕ ÓÌÏ×ÁÍÉ, ÐÏÔÏÍÕ ÞÔÏ ÒÅÖÉÍ Á×ÔÏÚÁÐÏÌÎÅÎÉÑ ÒÁÚÂÉ×ÁÅÔ ÓÔÒÏËÉ + ÐÏËÁ ÎÅ Õ×ÉÄÉÔÅ, ËÁË ÏÎÁ ÒÁÚÄÅÌÉÔÓÑ ÎÁ Ä×Å ÓÔÒÏËÉ. üÔÉ ÐÒÏÂÅÌÙ ÍÅÖÄÕ + ÓÌÏ×ÁÍÉ ÎÅÏÂÈÏÄÉÍÙ, ÐÏÔÏÍÕ ÞÔÏ ÒÅÖÉÍ Á×ÔÏÚÁÐÏÌÎÅÎÉÑ ÒÁÚÂÉ×ÁÅÔ ÓÔÒÏËÉ ÔÏÌØËÏ ÐÏ ÐÒÏÂÅÌÁÍ. çÒÁÎÉÃÁ ÒÁÚÂÉÅÎÉÑ ÏÂÙÞÎÏ ÒÁ×ÎÁ 70-ÔÉ ÓÉÍ×ÏÌÁÍ, ÎÏ ×Ù ÍÏÖÅÔÅ ÉÚÍÅÎÉÔØ ÅÅ -ÉÓÐÏÌØÚÕÑ ËÏÍÁÎÄÕ C-x f. ÷Ù ÄÏÌÖÎÙ ÚÁÄÁÔØ ÇÒÁÎÉÃÕ × ×ÉÄÅ ÞÉÓÌÏ×ÏÇÏ +ÉÓÐÏÌØÚÕÑ ËÏÍÁÎÄÕ C-x f. ÷Ù ÄÏÌÖÎÙ ÚÁÄÁÔØ ÇÒÁÎÉÃÕ × ×ÉÄÅ ÞÉÓÌÏ×ÏÇÏ ÁÒÇÕÍÅÎÔÁ ÄÌÑ ÜÔÏÊ ËÏÍÁÎÄÙ. >> ÷×ÅÄÉÔÅ C-x f Ó ÁÒÇÕÍÅÎÔÏÍ 20 (C-u 2 0 C-x f). úÁÔÅÍ ××ÅÄÉÔÅ ËÁËÏÊ-ÎÉÂÕÄØ - ÔÅËÓÔ, É ÐÏÓÍÏÔÒÉÔÅ ËÁË Emacs ÚÁÐÏÌÎÑÅÔ ÓÔÒÏËÉ ÐÏ 20 ÓÉÍ×ÏÌÏ× × ËÁÖÄÏÊ. + ÔÅËÓÔ É ÐÏÓÍÏÔÒÉÔÅ ËÁË Emacs ÚÁÐÏÌÎÑÅÔ ÓÔÒÏËÉ ÐÏ 20 ÓÉÍ×ÏÌÏ× × ËÁÖÄÏÊ. ÷ÅÒÎÉÔÅ ÚÎÁÞÅÎÉÅ ÇÒÁÎÉÃÙ ÒÁ×ÎÏÅ 70 ÎÁÚÁÄ, ÉÓÐÏÌØÚÕÑ ËÏÍÁÎÄÕ C-x f. åÓÌÉ ×Ù ÓÄÅÌÁÌÉ ÉÚÍÅÎÅÎÉÑ × ÓÅÒÅÄÉÎÅ ÐÁÒÁÇÒÁÆÁ, ÔÏ Á×ÔÏÚÁÐÏÌÎÅÎÉÅ ÎÅ -ÐÅÒÅÆÏÒÍÁÔÉÒÕÅÔ ÔÅËÓÔ Á×ÔÏÍÁÔÉÞÅÓËÉ. þÔÏÂÙ ÐÅÒÅÆÏÒÍÁÔÉÒÏ×ÁÔØ ÐÁÒÁÇÒÁÆ, -ÎÁÂÅÒÉÔÅ M-q (META-q) ËÏÇÄÁ ËÕÒÓÏÒ ÎÁÈÏÄÉÔÓÑ ×ÎÕÔÒÉ ÐÁÒÁÇÒÁÆÁ. +ÐÅÒÅÆÏÒÍÁÔÉÒÕÅÔ ÔÅËÓÔ Á×ÔÏÍÁÔÉÞÅÓËÉ. þÔÏÂÙ ÐÅÒÅÆÏÒÍÁÔÉÒÏ×ÁÔØ ÐÁÒÁÇÒÁÆ, +ÎÁÂÅÒÉÔÅ M-q (META-q), ËÏÇÄÁ ËÕÒÓÏÒ ÎÁÈÏÄÉÔÓÑ ×ÎÕÔÒÉ ÐÁÒÁÇÒÁÆÁ. >> ðÅÒÅÍÅÓÔÉÔÅ ËÕÒÓÏÒ × ÐÒÅÄÙÄÕÝÉÊ ÐÁÒÁÇÒÁÆ, É ÎÁÖÍÉÔÅ M-q. @@ -863,22 +857,22 @@ M-x auto fill mode. ------- Emacs ÕÍÅÅÔ ÉÓËÁÔØ ÓÔÒÏËÉ (ÎÅÐÒÅÒÙ×ÎÙÅ ÇÒÕÐÐÙ ÓÉÍ×ÏÌÏ× ÉÌÉ ÓÌÏ×Á) ×ÐÅÒÅÄ ÉÌÉ -ÎÁÚÁÄ ÐÏ ÔÅËÓÔÕ. ðÏÉÓË ÓÔÒÏËÉ -- ÜÔÏ ËÏÍÁÎÄÁ ÐÅÒÅÍÅÝÅÎÉÑ ËÕÒÓÏÒÁ; ÏÎÁ +ÎÁÚÁÄ ÐÏ ÔÅËÓÔÕ. ðÏÉÓË ÓÔÒÏËÉ -- ÜÔÏ ËÏÍÁÎÄÁ ÐÅÒÅÍÅÝÅÎÉÑ ËÕÒÓÏÒÁ; ÏÎÁ ÐÅÒÅÍÅÝÁÅÔ ËÕÒÓÏÒ × ÓÌÅÄÕÀÝÕÀ ÔÏÞËÕ, ÇÄÅ ÎÁÊÄÅÎÁ ÉÓËÏÍÁÑ ÓÔÒÏËÁ. ëÏÍÁÎÄÁ ÐÏÉÓËÁ Emacs ÏÔÌÉÞÁÅÔÓÑ ÏÔ ÁÎÁÌÏÇÉÞÎÙÈ ËÏÍÁÎÄ ÂÏÌØÛÉÎÓÔ×Á ÄÒÕÇÉÈ -ÒÅÄÁËÔÏÒÏ× ÔÅÍ, ÞÔÏ ÏÎÁ ÉÎËÒÅÍÅÎÔÁÌØÎÁÑ. üÔÏ ÏÚÎÁÞÁÅÔ, ÞÔÏ ÐÏÉÓË ÐÒÏÉÓÈÏÄÉÔ -ÐÏ ÍÅÒÅ, ÔÏÇÏ ËÁË ×Ù ÎÁÂÉÒÁÅÔÅ ÉÓËÏÍÕÀ ÓÔÒÏËÕ. +ÒÅÄÁËÔÏÒÏ× ÔÅÍ, ÞÔÏ ÏÎÁ ÉÎËÒÅÍÅÎÔÁÌØÎÁÑ. üÔÏ ÏÚÎÁÞÁÅÔ, ÞÔÏ ÐÏÉÓË ÐÒÏÉÓÈÏÄÉÔ +ÐÏ ÍÅÒÅ ÔÏÇÏ, ËÁË ×Ù ÎÁÂÉÒÁÅÔÅ ÉÓËÏÍÕÀ ÓÔÒÏËÕ. ëÏÍÁÎÄÁ, ÎÁÞÉÎÁÀÝÁÑ ÐÏÉÓË ×ÐÅÒÅÄ -- C-s, Á C-r ÉÝÅÔ ÎÁÚÁÄ. ðïäïöäéôå! îÅ ÎÕÖÎÏ ÐÒÏÂÏ×ÁÔØ ÐÒÑÍÏ ÓÅÊÞÁÓ. -ëÏÇÄÁ ×Ù ÎÁÖÍÅÔÅ C-s, ×Ù Õ×ÉÄÉÔÅ ÓÔÒÏËÕ "I-search", ÐÏÑ×É×ÛÕÀÓÑ × ÏÂÌÁÓÔÉ ÜÈÏ. +ëÏÇÄÁ ×Ù ÎÁÖÍÅÔÅ C-s, ×Ù Õ×ÉÄÉÔÅ ÓÔÒÏËÕ "I-search", ÐÏÑ×É×ÛÕÀÓÑ × ÏÂÌÁÓÔÉ ÜÈÁ. ÷ÁÍ ÓÏÏÂÝÁÅÔÓÑ, ÞÔÏ Emacs ÖÄÅÔ ××ÏÄÁ ÓÌÏ×Á, ËÏÔÏÒÏÅ ×Ù ÈÏÔÉÔÅ ÎÁÊÔÉ. ÚÁ×ÅÒÛÁÅÔ ÐÏÉÓË. >> ôÅÐÅÒØ ÎÁÖÍÉÔÅ C-s ÄÌÑ ÎÁÞÁÌÁ ÐÏÉÓËÁ. íÅÄÌÅÎÎÏ, ÐÏ ÏÄÎÏÊ ÂÕË×Å, ÎÁÂÉÒÁÊÔÅ - ÓÌÏ×Ï 'ËÕÒÓÏÒ', ÏÓÔÁÎÁ×ÌÉ×ÁÑÓØ ÐÏÓÌÅ ËÁÖÄÏÊ ××ÅÄÅÎÎÏÊ ÂÕË×Ù É ÚÁÍÅÞÁÑ ÞÔÏ + ÓÌÏ×Ï 'ËÕÒÓÏÒ', ÏÓÔÁÎÁ×ÌÉ×ÁÑÓØ ÐÏÓÌÅ ËÁÖÄÏÊ ××ÅÄÅÎÎÏÊ ÂÕË×Ù É ÚÁÍÅÞÁÑ, ÞÔÏ ÐÒÏÉÓÈÏÄÉÔ Ó ËÕÒÓÏÒÏÍ. óÅÊÞÁÓ ×Ù ÎÁÛÌÉ ÐÅÒ×ÏÅ ×ÈÏÖÄÅÎÉÅ ÓÌÏ×Á "ËÕÒÓÏÒ". >> îÁÖÍÉÔÅ C-s ÓÎÏ×Á, ÞÔÏÂÙ ÎÁÊÔÉ ÓÌÅÄÕÀÝÅÅ ×ÈÏÖÄÅÎÉÅ ÓÌÏ×Á "ËÕÒÓÏÒ". @@ -887,43 +881,43 @@ Emacs ÷Ù ÚÁÍÅÔÉÌÉ, ÞÔÏ ÐÒÏÉÓÈÏÄÉÌÏ? Emacs × ÒÅÖÉÍÅ ÉÎËÒÅÍÅÎÔÁÌØÎÏÇÏ ÐÏÉÓËÁ ÐÙÔÁÌÓÑ ÐÅÒÅÈÏÄÉÔØ Ë ÓÔÒÏËÁÍ, ÓÏ×ÐÁÄÁÀÝÉÍ Ó ÎÁÂÉÒÁÅÍÏÊ ×ÁÍÉ ÓÔÒÏËÏÊ, ÐÏÄÓ×ÅÞÉ×ÁÑ ÉÈ. -þÔÏÂÙ ÐÅÒÅÊÔÉ Ë ÓÌÅÄÕÀÝÅÍÕ ×ÈÏÖÄÅÎÉÑ ÓÌÏ×Á 'ËÕÒÓÏÒ' ÐÒÏÓÔÏ ÎÁÖÍÉÔÅ C-s -ÓÎÏ×Á. åÓÌÉ ÂÏÌØÛÅ ÎÅÔ ×ÈÏÖÄÅÎÉÊ, ÔÏ Emacs ÉÚÄÁÓÔ Ú×ÕËÏ×ÏÊ ÓÉÇÎÁÌ, É +þÔÏÂÙ ÐÅÒÅÊÔÉ Ë ÓÌÅÄÕÀÝÅÍÕ ×ÈÏÖÄÅÎÉÀ ÓÌÏ×Á 'ËÕÒÓÏÒ', ÐÒÏÓÔÏ ÎÁÖÍÉÔÅ C-s +ÓÎÏ×Á. åÓÌÉ ÂÏÌØÛÅ ÎÅÔ ×ÈÏÖÄÅÎÉÊ, ÔÏ Emacs ÉÚÄÁÓÔ Ú×ÕËÏ×ÏÊ ÓÉÇÎÁÌ É ÓÏÏÂÝÉÔ, ÞÔÏ ×ÁÛ ÐÏÉÓË ÎÅ ÕÄÁÌÓÑ ("failing"), C-g ÔÁËÖÅ ÍÏÖÅÔ ÏÔÍÅÎÉÔØ ÐÏÉÓË. -úáíåþáîéå: îÁ ÎÅËÏÔÏÒÙÈ ÓÉÓÔÅÍÁÈ, ××ÏÄ C-x C-s ÚÁÂÌÏËÉÒÕÅÔ ÜËÒÁÎ, ÔÁË ÞÔÏ ×Ù -ÎÅ Õ×ÉÄÉÔÅ ÐÏÓÌÅÄÕÀÝÅÇÏ ×Ù×ÏÄÁ Emacs`Á. ôÁËÏÅ ÐÏ×ÅÄÅÎÉÅ ÏÚÎÁÞÁÅÔ, ÞÔÏ +úáíåþáîéå: îÁ ÎÅËÏÔÏÒÙÈ ÓÉÓÔÅÍÁÈ ××ÏÄ C-x C-s ÚÁÂÌÏËÉÒÕÅÔ ÜËÒÁÎ, ÔÁË ÞÔÏ ×Ù +ÎÅ Õ×ÉÄÉÔÅ ÐÏÓÌÅÄÕÀÝÅÇÏ ×Ù×ÏÄÁ Emacs'Á. ôÁËÏÅ ÐÏ×ÅÄÅÎÉÅ ÏÚÎÁÞÁÅÔ, ÞÔÏ ÏÐÅÒÁÃÉÏÎÎÁÑ ÓÉÓÔÅÍÁ ÉÍÅÅÔ "ÏÓÏÂÅÎÎÏÓÔØ", ÉÍÅÎÕÅÍÕÀ "flow control", -ÐÅÒÅÈ×ÁÔÙ×ÁÀÝÕÀ ÓÏÞÅÔÁÎÉÅ C-s É ÎÅ ÐÒÏÐÕÓËÁÀÝÕÀ ÜÔÏÔ ÓÉÍ×ÏÌ Ë Emacs`Õ. äÌÑ -ÓÎÑÔÉÑ ÂÌÏËÉÒÏ×ËÉ ÜËÒÁÎÁ, ÎÁÖÍÉÔÅ C-q. ïÂÒÁÔÉÔÅÓØ Ë ÒÁÚÄÅÌÕ "Spontaneous +ÐÅÒÅÈ×ÁÔÙ×ÁÀÝÕÀ ÓÏÞÅÔÁÎÉÅ C-s É ÎÅ ÐÒÏÐÕÓËÁÀÝÕÀ ÜÔÏÔ ÓÉÍ×ÏÌ Ë Emacs'Õ. äÌÑ +ÓÎÑÔÉÑ ÂÌÏËÉÒÏ×ËÉ ÜËÒÁÎÁ ÎÁÖÍÉÔÅ C-q. ïÂÒÁÔÉÔÅÓØ Ë ÒÁÚÄÅÌÕ "Spontaneous Entry to Incremental Search" ÒÕËÏ×ÏÄÓÔ×Á Emacs, ÞÔÏÂÙ ÕÚÎÁÔØ Ï ÔÏÍ, ËÁË ÂÏÒÏÔØÓÑ Ó ÜÔÏÊ "ÏÓÏÂÅÎÎÏÓÔØÀ". åÓÌÉ ×Ù ×Ï ×ÒÅÍÑ ÉÎËÒÅÍÅÎÔÁÌØÎÏÇÏ ÐÏÉÓËÁ ÎÁÖÍÅÔÅ , ÔÏ ×Ù ÚÁÍÅÔÉÔÅ, ÞÔÏ ÐÏÓÌÅÄÎÉÊ ÓÉÍ×ÏÌ × ÉÓËÏÍÏÊ ÓÔÒÏËÅ ÕÄÁÌÉÌÓÑ, É ÐÏÉÓË ×ÅÒÎÕÌÓÑ Ë -ÐÒÅÄÙÄÕÝÅÍÕ ÎÁÊÄÅÎÎÏÍÕ ÍÅÓÔÕ. îÁÐÒÉÍÅÒ, ÐÒÅÄÐÏÌÏÖÉÍ, ÞÔÏ ×Ù ÎÁÂÒÁÌÉ "Ë", +ÐÒÅÄÙÄÕÝÅÍÕ ÎÁÊÄÅÎÎÏÍÕ ÍÅÓÔÕ. îÁÐÒÉÍÅÒ, ÐÒÅÄÐÏÌÏÖÉÍ, ÞÔÏ ×Ù ÎÁÂÒÁÌÉ "Ë", ÐÏÉÓË ÐÅÒÅÊÄÅÔ Ë ÐÅÒ×ÏÍÕ ×ÈÏÖÄÅÎÉÀ ÓÉÍ×ÏÌÁ "Ë". ôÅÐÅÒØ, ÅÓÌÉ ×Ù ÎÁÂÅÒÅÔÅ -"Õ", ËÕÒÓÏÒ ÐÅÒÅÊÄÅÔ Ë ÐÅÒ×ÏÍÕ ×ÈÏÖÄÅÎÉÀ "ËÕ". îÁÖÁÔÉÅ ÕÄÁÌÉÔ +"Õ", ËÕÒÓÏÒ ÐÅÒÅÊÄÅÔ Ë ÐÅÒ×ÏÍÕ ×ÈÏÖÄÅÎÉÀ "ËÕ". îÁÖÁÔÉÅ ÕÄÁÌÉÔ ÓÉÍ×ÏÌ "Õ" ÉÚ ÓÔÒÏËÉ ÐÏÉÓËÁ, É ËÕÒÓÏÒ ×ÅÒÎÅÔÓÑ Ë ÐÅÒ×ÏÍÕ ×ÈÏÖÄÅÎÉÀ "Ë". åÓÌÉ ×Ù ×Ï ×ÒÅÍÑ ÐÏÉÓËÁ ××ÅÄÅÔÅ control- ÉÌÉ meta- ÓÉÍ×ÏÌ (ÚÁ ÎÅËÏÔÏÒÙÍÉ -ÉÓËÌÀÞÅÎÉÑÍÉ, ÔÁËÉÍÉ, ËÁË ÓÉÍ×ÏÌÙ ÎÁÞÉÎÁÀÝÉÅ ÐÏÉÓË, Á ÉÍÅÎÎÏ C-s É C-r), -ÐÏÉÓË ÐÒÅËÒÁÔÉÔÓÑ. +ÉÓËÌÀÞÅÎÉÑÍÉ, ÎÁÐÒÉÍÅÒ, ÔÁËÉÍÉ, ËÁË ÓÉÍ×ÏÌÙ C-s É C-r, ËÏÔÏÒÙÅ ÎÁÞÉÎÁÀÔ +ÐÏÉÓË), ÔÏ ÐÏÉÓË ÐÒÅËÒÁÔÉÔÓÑ. C-s ÎÁÞÉÎÁÅÔ ÐÏÉÓË É ÉÝÅÔ ÌÀÂÙÅ ×ÈÏÖÄÅÎÉÑ ÉÓËÏÍÏÊ ÓÔÒÏËÉ ðïóìå ÔÅËÕÝÅÊ -ÐÏÚÉÃÉÉ ËÕÒÓÏÒÁ. åÓÌÉ ×Ù ÈÏÔÉÔÅ ÎÁÊÔÉ ÞÔÏ-ÔÏ ÒÁÎÅÅ × ÔÅËÓÔÅ, ÔÏ ÎÁÖÍÉÔÅ -C-r. ÷ÓÅ, ÞÔÏ ÍÙ ÇÏ×ÏÒÉÌÉ Ï C-s, ÐÒÉÍÅÎÉÍÏ É Ë C-r, ÚÁ ÉÓËÌÀÞÅÎÉÅÍ -ÐÒÏÔÉ×ÏÐÏÌÏÖÎÏÇÏ ÎÁÐÒÁ×ÌÅÎÉÑ ÐÏÉÓËÁ. +ÐÏÚÉÃÉÉ ËÕÒÓÏÒÁ. åÓÌÉ ×Ù ÈÏÔÉÔÅ ÎÁÊÔÉ ÞÔÏ-ÔÏ ÒÁÎÅÅ × ÔÅËÓÔÅ, ÔÏ ÎÁÖÍÉÔÅ +C-r. ÷ÓÅ, ÞÔÏ ÍÙ ÇÏ×ÏÒÉÌÉ Ï C-s, ÐÒÉÍÅÎÉÍÏ É Ë C-r, ÔÏÌØËÏ C-r ÉÝÅÔ × +ÐÒÏÔÉ×ÏÐÏÌÏÖÎÏÍ ÎÁÐÒÁ×ÌÅÎÉÉ. * íîïöåóô÷ï ïëïî (MULTIPLE WINDOWS) ----------------------------------- -ïÄÎÁ ÉÚ ÐÒÉÑÔÎÙÈ ÏÓÏÂÅÎÎÏÓÔÅÊ Emacs Ñ×ÌÑÅÔÓÑ ÔÏ, ÞÔÏ ×Ù ÍÏÖÅÔÅ ÏÄÎÏ×ÒÅÍÅÎÎÏ -ÏÔÏÂÒÁÖÁÔØ ÎÁ ÜËÒÁÎÅ ÎÅÓËÏÌØËÏ ÏËÏÎ. +ïÄÎÏÊ ÉÚ ÐÒÉÑÔÎÙÈ ÏÓÏÂÅÎÎÏÓÔÅÊ Emacs'Á Ñ×ÌÑÅÔÓÑ ÔÏ, ÞÔÏ ×Ù ÍÏÖÅÔÅ +ÏÄÎÏ×ÒÅÍÅÎÎÏ ÏÔÏÂÒÁÖÁÔØ ÎÁ ÜËÒÁÎÅ ÎÅÓËÏÌØËÏ ÏËÏÎ. ->> ðÅÒÅÍÅÓÔÉÔÅ ËÕÒÓÏÒ ÎÁ ÜÔÕ ÓÔÒÏËÕ, É ÎÁÂÅÒÉÔÅ C-u 0 C-l (ÜÔÏ CONTROL-L, Á +>> ðÅÒÅÍÅÓÔÉÔÅ ËÕÒÓÏÒ ÎÁ ÜÔÕ ÓÔÒÏËÕ É ÎÁÂÅÒÉÔÅ C-u 0 C-l (ÜÔÏ CONTROL-L, Á ÎÅ CONTROL-1). >> ôÅÐÅÒØ ÎÁÂÅÒÉÔÅ C-x 2, ÞÔÏ ÒÁÚÄÅÌÉÔ ÜËÒÁÎ ÎÁ Ä×Á ÏËÎÁ. @@ -941,23 +935,24 @@ C-r. ëÕÒÓÏÒ × ×ÅÒÈÎÅÍ ÏËÎÅ ÔÁÍ ÖÅ, ÇÄÅ É ÂÙÌ ÄÏ ÔÏÇÏ. ÷Ù ÍÏÖÅÔÅ ÐÒÏÄÏÌÖÁÔØ ÐÅÒÅËÌÀÞÁÔØÓÑ ÍÅÖÄÕ ÏËÎÁÍÉ, ÉÓÐÏÌØÚÕÑ C-x o. ëÁÖÄÏÅ -ÏËÎÏ ÈÒÁÎÉÔ Ó×ÏÀ ÐÏÚÉÃÉÀ ËÕÒÓÏÒÁ, ÎÏ ÔÏÌØËÏ ÏÄÎÏ ÐÏËÁÚÙ×ÁÅÔ ËÕÒÓÏÒ. ÷ÓÅ +ÏËÎÏ ÈÒÁÎÉÔ Ó×ÏÀ ÐÏÚÉÃÉÀ ËÕÒÓÏÒÁ, ÎÏ ÔÏÌØËÏ ÏÄÎÏ ÐÏËÁÚÙ×ÁÅÔ ËÕÒÓÏÒ. ÷ÓÅ ÏÂÙÞÎÙÅ ËÏÍÁÎÄÙ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ ÐÒÉÍÅÎÑÀÔÓÑ Ë ÏËÎÕ, × ËÏÔÏÒÏÍ ÏÔÏÂÒÁÖÁÅÔÓÑ -ËÕÒÓÏÒ. íÙ ÎÁÚÙ×ÁÅÍ ÜÔÏ ÏËÎÏ "×ÙÂÒÁÎÎÙÍ" ("selected window"). +ËÕÒÓÏÒ. íÙ ÎÁÚÙ×ÁÅÍ ÜÔÏ ÏËÎÏ "×ÙÂÒÁÎÎÙÍ" ("selected window"). ëÏÍÁÎÄÁ C-M-v ÏÞÅÎØ ÕÄÏÂÎÁ, ËÏÇÄÁ ×Ù ÒÅÄÁËÔÉÒÕÅÔÅ ÔÅËÓÔ × ÏÄÎÏÍ ÏËÎÅ, Á -×ÔÏÒÏÅ ÉÓÐÏÌØÚÕÅÔÅ × ËÁÞÅÓÔ×Å ÓÐÒÁ×ÏÞÎÉËÁ. ÷Ù ÍÏÖÅÔÅ ×ÓÅÇÄÁ ÓÏÈÒÁÎÑÔØ +×ÔÏÒÏÅ ÉÓÐÏÌØÚÕÅÔÅ × ËÁÞÅÓÔ×Å ÓÐÒÁ×ÏÞÎÉËÁ. ÷Ù ÍÏÖÅÔÅ ×ÓÅÇÄÁ ÓÏÈÒÁÎÑÔØ ËÕÒÓÏÒ × ÏËÎÅ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ É ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏ ÐÒÏÄ×ÉÇÁÔØÓÑ ×Ï ×ÔÏÒÏÍ, ÉÓÐÏÌØÚÕÑ C-M-v. -C-M-v -- ÐÒÉÍÅÒ CONTROL-META ÓÉÍ×ÏÌÁ. åÓÌÉ Õ ×ÁÓ ÅÓÔØ ÎÁÓÔÏÑÝÁÑ ËÎÏÐËÁ META -(Alt), ÔÏ ×Ù ÍÏÖÅÔÅ ÎÁÂÒÁÔØ C-M-v, ÎÁÖÁ× ÏÄÎÏ×ÒÅÍÅÎÎÏ CONTROL É META É, ÎÅ -ÏÔÐÕÓËÁÑ ÉÈ, ÎÁÖÁÔØ v. é ÎÅ ×ÁÖÎÏ, ËÁËÁÑ ÉÚ ËÌÁ×ÉÛ ÂÕÄÅÔ ÎÁÖÁÔÁ ÐÅÒ×ÏÊ, -CONTROL ÉÌÉ META, ÐÏÓËÏÌØËÕ ÜÔÉ ËÎÏÐËÉ ÍÏÄÉÆÉÃÉÒÕÀÔ ÔÉÐ ÓÉÍ×ÏÌÁ. +C-M-v -- ÐÒÉÍÅÒ CONTROL-META ÓÉÍ×ÏÌÁ. åÓÌÉ Õ ×ÁÓ ÅÓÔØ ÎÁÓÔÏÑÝÁÑ ËÎÏÐËÁ META +(ÏÂÙÞÎÏ ÐÏÍÅÞÅÎÎÁÑ ËÁË Alt), ÔÏ ×Ù ÍÏÖÅÔÅ ÎÁÂÒÁÔØ C-M-v, ÎÁÖÁ× ÏÄÎÏ×ÒÅÍÅÎÎÏ +CONTROL É META É, ÎÅ ÏÔÐÕÓËÁÑ ÉÈ, ÎÁÖÁÔØ v. îÅ ×ÁÖÎÏ, ËÁËÁÑ ÉÚ ËÌÁ×ÉÛ, CONTROL +ÉÌÉ META, ÂÕÄÅÔ ÎÁÖÁÔÁ ÐÅÒ×ÏÊ, ÐÏÓËÏÌØËÕ ÏÂÅ ÜÔÉ ËÎÏÐËÉ ÍÏÄÉÆÉÃÉÒÕÀÔ ÔÉÐ +ÓÉÍ×ÏÌÁ. åÓÌÉ Õ ×ÁÓ ÎÅÔ ÎÁÓÔÏÑÝÅÊ ËÎÏÐËÉ META, É ×ÍÅÓÔÏ ÎÅÅ ×Ù ÉÓÐÏÌØÚÕÅÔÅ , ÔÏ -ÐÏÒÑÄÏË ÄÏÌÖÅÎ ÂÙÔØ ÓÌÅÄÕÀÝÉÍ: ×Ù ÄÏÌÖÎÙ ÎÁÖÁÔØ , Á ÚÁÔÅÍ CTRL-v; -CONTROL- v ÎÅ ÂÕÄÅÔ ÒÁÂÏÔÁÔØ. üÔÏ ÐÒÏÉÓÈÏÄÉÔ ÐÏÔÏÍÕ, ÞÔÏ ÉÍÅÅÔ +ÐÏÒÑÄÏË ÉÈ ÎÁÖÁÔÉÑ ×ÁÖÅÎ: ÓÎÁÞÁÌÁ ×Ù ÄÏÌÖÎÙ ÎÁÖÁÔØ , Á ÚÁÔÅÍ CTRL-v; +CONTROL- v ÎÅ ÓÒÁÂÏÔÁÅÔ. üÔÏ ÐÒÏÉÓÈÏÄÉÔ ÐÏÔÏÍÕ, ÞÔÏ ÉÍÅÅÔ Ó×ÏÊ ÓÏÂÓÔ×ÅÎÎÙÊ ÓÉÍ×ÏÌ -- ÜÔÏ ÎÅ ÍÏÄÉÆÉÃÉÒÕÀÝÁÑ ËÎÏÐËÁ. >> îÁÖÍÉÔÅ C-x 1 (× ×ÅÒÈÎÅÍ ÏËÎÅ), ÞÔÏÂÙ ÉÚÂÁ×ÉÔØÓÑ ÏÔ ÎÉÖÎÅÇÏ ÏËÎÁ. @@ -966,14 +961,14 @@ CONTROL- v ðÏÎÉÍÁÊÔÅ ÜÔÕ ËÏÍÁÎÄÕ ËÁË "ïÓÔÁ×ÉÔØ ÔÏÌØËÏ ÏÄÎÏ ÏËÎÏ -- ÔÏ, × ËÏÔÏÒÏÍ Ñ ÓÅÊÞÁÓ ÎÁÈÏÖÕÓØ"). -÷ÁÍ ÎÅ ÎÕÖÎÏ ÏÔÏÂÒÁÖÁÔØ ÏÄÉÎ É ÔÏÔ ÖÅ ÂÕÆÅÒ × ÏÂÏÉÈ ÏËÎÁÈ. åÓÌÉ ×Ù +÷ÁÍ ÎÅ ÎÕÖÎÏ ÏÔÏÂÒÁÖÁÔØ ÏÄÉÎ É ÔÏÔ ÖÅ ÂÕÆÅÒ × ÏÂÏÉÈ ÏËÎÁÈ. åÓÌÉ ×Ù ÉÓÐÏÌØÚÕÅÔÅ C-x C-f, ÞÔÏÂÙ ÏÔËÒÙÔØ ÆÁÊÌ × ÏÄÎÏÍ ÏËÎÅ, ÄÒÕÇÏÅ ÏÓÔÁÎÅÔÓÑ ÂÅÚ ÉÚÍÅÎÅÎÉÑ. ÷Ù ÍÏÖÅÔÅ ÏÔËÒÙ×ÁÔØ ÆÁÊÌÙ × ËÁÖÄÏÍ ÏËÎÅ ÎÅÚÁ×ÉÓÉÍÏ. -åÓÔØ ÄÒÕÇÏÊ ÐÕÔØ ÉÓÐÏÌØÚÏ×ÁÔØ Ä×Á ÏËÎÁ, ÏÔÏÂÒÁÖÁÀÝÉÈ ÒÁÚÎÙÅ ÆÁÊÌÙ: +åÓÔØ É ÄÒÕÇÏÊ ÐÕÔØ ÉÓÐÏÌØÚÏ×ÁÔØ Ä×Á ÏËÎÁ, ÏÔÏÂÒÁÖÁÀÝÉÈ ÒÁÚÎÙÅ ÆÁÊÌÙ: ->> îÁÂÅÒÉÔÅ C-x 4 C-f, É ××ÅÄÉÔÅ ÉÍÑ ÏÄÎÏÇÏ É ×ÁÛÉÈ ÆÁÊÌÏ×. úÁ×ÅÒÛÉÔÅ ××ÏÄ - ÎÁÖÁÔÉÅÍ . úÁÍÅÔØÔÅ, ÞÔÏ ×ÙÂÒÁÎÎÙÊ ÆÁÊÌ ÐÏÑ×ÉÌÓÑ × ÎÉÖÎÅÍ ÏËÎÅ. +>> îÁÂÅÒÉÔÅ C-x 4 C-f, É ××ÅÄÉÔÅ ÉÍÑ ÏÄÎÏÇÏ ÉÚ ×ÁÛÉÈ ÆÁÊÌÏ×. úÁ×ÅÒÛÉÔÅ ××ÏÄ + ÎÁÖÁÔÉÅÍ . úÁÍÅÔØÔÅ, ÞÔÏ ×ÙÂÒÁÎÎÙÊ ÆÁÊÌ ÐÏÑ×ÉÌÓÑ × ÎÉÖÎÅÍ ÏËÎÅ. ëÕÒÓÏÒ ÐÅÒÅÛÅÌ ÔÕÄÁ ÖÅ. >> îÁÂÅÒÉÔÅ C-x o, ÞÔÏÂÙ ×ÅÒÎÕÔØÓÑ × ×ÅÒÈÎÅÅ ÏËÎÏ, É ÚÁÔÅÍ C-x 1, ÞÔÏÂÙ @@ -984,54 +979,54 @@ CONTROL- v -------------------------------------------------------------- éÎÏÇÄÁ ×Ù ÂÕÄÅÔÅ ÐÏÐÁÄÁÔØ × ÔÁË ÎÁÚÙ×ÁÅÍÙÅ "ÒÅËÕÒÓÉ×ÎÙÅ ÕÒÏ×ÎÉ -ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ". îÁ ÜÔÏ ÕËÁÚÙ×ÁÀÔ ÐÒÑÍÏÕÇÏÌØÎÙÅ ÓËÏÂËÉ × ÓÔÒÏËÅ ÓÔÁÔÕÓÁ, +ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ". îÁ ÜÔÏ ÕËÁÚÙ×ÁÀÔ ÐÒÑÍÏÕÇÏÌØÎÙÅ ÓËÏÂËÉ × ÓÔÒÏËÅ ÓÏÓÔÏÑÎÉÑ, ÏËÒÕÖÁÀÝÉÅ ÏÂÙÞÎÙÅ ÓËÏÂËÉ ×ÏËÒÕÇ ÉÍÅÎÉ ÏÓÎÏ×ÎÏÇÏ ÒÅÖÉÍÁ. îÁÐÒÉÍÅÒ, ×Ù Õ×ÉÄÉÔÅ [(Fundamental)] ×ÍÅÓÔÏ (Fundamental). þÔÏÂÙ ×ÙÊÔÉ ÉÚ ÒÅËÕÒÓÉ×ÎÙÈ ÕÒÏ×ÎÅÊ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ, ÎÁÖÍÉÔÅ -. üÔÏ ÍÎÏÇÏÃÅÌÅ×ÁÑ ËÏÍÁÎÄÁ "×ÙÈÏÄ". ÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÅÅ, +. üÔÏ ÍÎÏÇÏÃÅÌÅ×ÁÑ ËÏÍÁÎÄÁ "×ÙÈÏÄÁ". ÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÅÅ ËÁË ÄÌÑ ÕÎÉÞÔÏÖÅÎÉÑ ÌÉÛÎÉÈ ÏËÏÎ, ÔÁË É ÄÌÑ ×ÙÈÏÄÁ ÉÚ ÍÉÎÉ-ÂÕÆÅÒÁ. >> îÁÖÍÉÔÅ M-x, ÞÔÏÂÙ ÐÏÐÁÓÔØ × ÍÉÎÉ-ÂÕÆÅÒ, Á ÚÁÔÅÍ ÎÁÖÍÉÔÅ , ÞÔÏÂÙ ÐÏËÉÎÕÔØ ÅÇÏ. -÷Ù ÎÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ C-g, ÄÌÑ ×ÙÈÏÄÁ ÉÚ ÒÅËÕÒÓÉ×ÎÙÈ ÕÒÏ×ÎÅÊ -ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ. üÔÏ ÐÏÔÏÍÕ, ÞÔÏ C-g ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÏÔÍÅÎÙ ËÏÍÁÎÄÙ É -ÁÒÇÕÍÅÎÔÏ× âåú ÒÅËÕÒÓÉ×ÎÙÈ ÕÒÏ×ÎÅÊ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ. +÷Ù ÎÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ C-g ÄÌÑ ×ÙÈÏÄÁ ÉÚ ÒÅËÕÒÓÉ×ÎÙÈ ÕÒÏ×ÎÅÊ +ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ. üÔÏ ÐÏÔÏÍÕ, ÞÔÏ C-g ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÏÔÍÅÎÙ ËÏÍÁÎÄ É +ÁÒÇÕÍÅÎÔÏ× ÷îõôòé ÒÅËÕÒÓÉ×ÎÙÈ ÕÒÏ×ÎÅÊ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ. * ëáë ðïìõþéôø äïðïìîéôåìøîõà ðïíïýø ------------------------------------ ÷ ÜÔÏÍ ÕÞÅÂÎÉËÅ ÍÙ ÐÏÐÙÔÁÌÉÓØ ÓÎÁÂÄÉÔØ ×ÁÓ ÔÏÌØËÏ ÔÏÊ ÉÎÆÏÒÍÁÃÉÅÊ, ËÏÔÏÒÁÑ -ÐÏÍÏÖÅÔ ×ÁÍ ÎÁÞÁÔØ ÐÏÌØÚÏ×ÁÔØÓÑ Emacs. ïÞÅÎØ ÍÎÏÇÏ ÉÎÆÏÒÍÁÃÉÉ ÄÏÓÔÕÐÎÏ × -Emacs, É ÎÅ×ÏÚÍÏÖÎÏ ×ÓÀ ÅÅ ÐÒÅÄÓÔÁ×ÉÔØ ÚÄÅÓØ. ïÄÎÁËÏ, ×Ù ÍÏÖÅÔÅ ×ÙÕÞÉÔØ -ÂÏÌØÛÅ ×ÏÚÍÏÖÎÏÓÔÅÊ Emacs É ÕÚÎÁÔØ ÄÒÕÇÉÅ ÐÏÌÅÚÎÙÅ ÏÓÏÂÅÎÎÏÓÔÉ. Emacs +ÐÏÍÏÖÅÔ ×ÁÍ ÎÁÞÁÔØ ÐÏÌØÚÏ×ÁÔØÓÑ Emacs'ÏÍ. ÷ Emacs'Å ÏÞÅÎØ ÍÎÏÇÏ ÓÒÅÄÓÔ× É +ÏÓÏÂÅÎÎÏÓÔÅÊ, É ÐÒÅÄÓÔÁ×ÉÔØ ×ÓÅ ÜÔÏ ÚÄÅÓØ ÎÅ ÐÒÅÄÓÔÁ×ÌÑÅÔÓÑ ×ÏÚÍÏÖÎÙÍ. +ïÄÎÁËÏ, ×ÏÚÍÏÖÎÏ ×Ù ÚÁÈÏÔÉÔÅ ÕÚÎÁÔØ ÂÏÌØÛÅ Ï ×ÏÚÍÏÖÎÏÓÔÑÈ Emacs'Á. Emacs ÐÒÅÄÏÓÔÁ×ÌÑÅÔ ËÏÍÁÎÄÙ ÄÌÑ ÞÔÅÎÉÑ ÄÏËÕÍÅÎÔÁÃÉÉ Ï ËÏÍÁÎÄÁÈ Emacs. üÔÉ ËÏÍÁÎÄÙ "ÓÐÒÁ×ËÉ" ("help") ×ÓÅ ÎÁÞÉÎÁÀÔÓÑ Ó ÓÉÍ×ÏÌÁ CONTROL-h, ËÏÔÏÒÙÊ Ñ×ÌÑÅÔÓÑ "ÓÉÍ×ÏÌÏÍ ÐÏÍÏÝÉ". -þÔÏÂÙ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÏÚÍÏÖÎÏÓÔÉ ÓÐÒÁ×ËÉ, ÎÁÖÍÉÔÅ C-h, É ÚÁÔÅÍ ÓÉÍ×ÏÌ, ËÏÔÏÒÙÊ -ÒÁÓÓËÁÖÅÔ, ËÁËÏÊ ÉÍÅÎÎÏ ×ÉÄ ÓÐÒÁ×ËÉ ×Ù ÈÏÔÉÔÅ ÐÏÌÕÞÉÔØ. åÓÌÉ ×Ù +þÔÏÂÙ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÏÚÍÏÖÎÏÓÔÉ ÓÐÒÁ×ËÉ, ÎÁÖÍÉÔÅ C-h, É ÚÁÔÅÍ -- ÓÉÍ×ÏÌ, ËÏÔÏÒÙÊ +ÒÁÓÓËÁÖÅÔ, ËÁËÏÊ ÉÍÅÎÎÏ ×ÉÄ ÓÐÒÁ×ËÉ ×Ù ÈÏÔÉÔÅ ÐÏÌÕÞÉÔØ. åÓÌÉ ×Ù äåêóô÷éôåìøîï ÒÁÓÔÅÒÑÌÉÓØ, ÎÁÂÅÒÉÔÅ C-h ?, É Emacs ÒÁÓÓËÁÖÅÔ ×ÁÍ Ï ÔÏÍ, ËÁËÕÀ ÓÐÒÁ×ËÕ ÏÎ ÍÏÖÅÔ ×ÁÍ ÐÒÅÄÏÓÔÁ×ÉÔØ. åÓÌÉ ×Ù ÎÁÖÁÌÉ C-h É ÐÅÒÅÄÕÍÁÌÉ ÏÂÒÁÝÁÔØÓÑ Ë ÓÐÒÁ×ËÅ, ÔÏ ÐÒÏÓÔÏ ÎÁÖÍÉÔÅ C-g, ÞÔÏÂÙ ÏÔÍÅÎÉÔØ ÜÔÕ ËÏÍÁÎÄÕ. -(ëÏÅ-ÇÄÅ ÐÅÒÅÎÁÚÎÁÞÁÀÔ ÓÉÍ×ÏÌ C-h. òÅÁÌØÎÏÊ ÎÅÏÂÈÏÄÉÍÏÓÔÉ × ÜÔÏÍ ÎÅÔ, É -ÅÓÌÉ ÜÔÏ ÔÁË, ÔÏ ÓÏÏÂÝÉÔÅ Ï ÜÔÏÍ ÓÉÓÔÅÍÎÏÍÕ ÁÄÍÉÎÉÓÔÒÁÔÏÒÕ. ôÅÍ ×ÒÅÍÅÎÅÍ, +(ëÏÅ-ÇÄÅ ÐÅÒÅÎÁÚÎÁÞÁÀÔ ÓÉÍ×ÏÌ C-h. òÅÁÌØÎÏÊ ÎÅÏÂÈÏÄÉÍÏÓÔÉ × ÜÔÏÍ ÎÅÔ, É +ÅÓÌÉ ÜÔÏ ÔÁË, ÔÏ ÓÏÏÂÝÉÔÅ Ï ÜÔÏÍ ÓÉÓÔÅÍÎÏÍÕ ÁÄÍÉÎÉÓÔÒÁÔÏÒÕ. ôÅÍ ×ÒÅÍÅÎÅÍ, ÅÓÌÉ C-h ÎÅ ×ÙÚÙ×ÁÅÔ ÓÏÏÂÝÅÎÉÅ ÐÏÍÏÝÉ ×ÎÉÚÕ ÜËÒÁÎÁ, ÔÏ ÐÏÐÒÏÂÕÊÔÅ ×ÍÅÓÔÏ ÜÔÏÇÏ ÎÁÖÁÔØ ËÌÁ×ÉÛÕ F1 ÉÌÉ ÎÁÂÒÁÔØ M-x help RET). -ïÄÎÁ ÉÚ ÓÁÍÙÈ ÇÌÁ×ÎÙÈ ÆÕÎËÃÉÊ ÓÐÒÁ×ËÉ -- C-h c. îÁÖÍÉÔÅ C-h, ÚÁÔÅÍ c, É -ÓÉÍ×ÏÌ ËÏÍÁÎÄÙ ÉÌÉ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ, É Emacs ÏÔÏÂÒÁÚÉÔ ËÒÁÔËÏÅ ÎÁÂÒÁÎÎÏÊ -ÏÐÉÓÁÎÉÅ ËÏÍÁÎÄÙ. +ïÄÎÁ ÉÚ ÓÁÍÙÈ ÇÌÁ×ÎÙÈ ÆÕÎËÃÉÊ ÓÐÒÁ×ËÉ -- C-h c. îÁÖÍÉÔÅ C-h, Á ÚÁÔÅÍ c É +ÓÉÍ×ÏÌ ËÏÍÁÎÄÙ ÉÌÉ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ, É Emacs ÏÔÏÂÒÁÚÉÔ ËÒÁÔËÏÅ ÏÐÉÓÁÎÉÅ +ÎÁÂÒÁÎÎÏÊ ËÏÍÁÎÄÙ. >> îÁÖÍÉÔÅ C-h c C-p. óÏÏÂÝÅÎÉÅ ÄÏÌÖÎÏ ×ÙÇÌÑÄÅÔØ ÐÒÉÍÅÒÎÏ ÔÁË: C-p runs the command previous-line - (C-p ×ÙÐÏÌÎÑÅÔ ËÏÍÁÎÄÕ previous-line {ÐÒÅÄÙÄÕÝÁÑ-ÓÔÒÏËÁ}) + (C-p ×ÙÐÏÌÎÑÅÔ ËÏÍÁÎÄÕ previous-line {ÐÒÅÄÙÄÕÝÁÑ-ÓÔÒÏËÁ}) ÷ÁÍ ÓÏÏÂÝÁÀÔ "ÉÍÑ ÆÕÎËÃÉÉ". éÍÅÎÁ ÆÕÎËÃÉÊ ÉÓÐÏÌØÚÕÀÔÓÑ × ÏÓÎÏ×ÎÏÍ ÄÌÑ ÎÁÓÔÒÏÊËÉ É ÒÁÓÛÉÒÅÎÉÑ Emacs. éÍÅÎÁ ÆÕÎËÃÉÊ ×ÙÂÒÁÎÙ ÔÁË, ÞÔÏÂÙ ÐÏËÁÚÁÔØ, ÞÔÏ @@ -1039,50 +1034,52 @@ Emacs, ÉÎÆÏÒÍÁÃÉÉ ÌÅÇÞÅ ÚÁÐÏÍÎÉÔØ ÕÖÅ ×ÙÕÞÅÎÎÙÅ ËÏÍÁÎÄÙ. íÎÏÇÏÓÉÍ×ÏÌØÎÙÅ ÓÏÞÅÔÁÎÉÑ ËÌÁ×ÉÛ, ÔÁËÉÅ ËÁË C-x C-s É (ÅÓÌÉ Õ ×ÁÓ ÎÅÔ ËÎÏÐËÉ -META ÉÌÉ EDIT ÉÌÉ ALT) v ÔÁËÖÅ ÂÕÄÕÔ ÄÏÓÔÕÐÎÙ ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÓÐÒÁ×ËÉ Ó +META ÉÌÉ EDIT ÉÌÉ ALT) v ÔÁËÖÅ ÂÕÄÕÔ ÄÏÓÔÕÐÎÙ ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÓÐÒÁ×ËÉ Ó ÐÏÍÏÝØÀ C-h c. ÷Ù ÍÏÖÅÔÅ ÐÏÌÕÞÉÔØ ÂÏÌØÛÅ ÉÎÆÏÒÍÁÃÉÉ Ï ËÏÍÁÎÄÅ ÉÓÐÏÌØÚÕÑ C-h k ×ÍÅÓÔÏ C-h c. >> îÁÂÅÒÉÔÅ C-h k C-p. -÷Ù Õ×ÉÄÉÔÅ ÏÐÉÓÁÎÉÅ ÆÕÎËÃÉÉ, Á ÔÁËÖÅ ÅÅ ÉÍÑ × ÏÔÄÅÌØÎÏÍ ÏËÎÅ Emacs. ëÏÇÄÁ ×Ù -ÚÁ×ÅÒÛÉÔÅ ÞÔÅÎÉÅ, ÎÁÖÍÉÔÅ C-x 1, ÞÔÏÂÙ ÉÚÂÁ×ÉÔØÓÑ ÏÔ ÔÅËÓÔÁ ÓÐÒÁ×ËÉ. ÷Ù -ÍÏÖÅÔÅ ×ÙÐÏÌÎÉÔØ ÉÚÍÅÎÅÎÉÅ ÔÅËÓÔÁ ×Ï ×ÒÅÍÑ ÐÒÏÓÍÏÔÒÁ ÔÅËÓÔÁ ÓÐÒÁ×ËÉ, Á -ÔÏÌØËÏ ÚÁÔÅÍ ÎÁÖÁÔØ C-x 1. +÷Ù Õ×ÉÄÉÔÅ ÏÐÉÓÁÎÉÅ ÆÕÎËÃÉÉ, Á ÔÁËÖÅ ÅÅ ÉÍÑ, × ÏÔÄÅÌØÎÏÍ ÏËÎÅ Emacs. ëÏÇÄÁ +×Ù ÚÁ×ÅÒÛÉÔÅ ÞÔÅÎÉÅ, ÎÁÖÍÉÔÅ C-x 1, ÞÔÏÂÙ ÉÚÂÁ×ÉÔØÓÑ ÏÔ ÔÅËÓÔÁ ÓÐÒÁ×ËÉ. +îÅ ÏÂÑÚÁÔÅÌØÎÏ ÎÁÖÉÍÁÔØ C-x 1 ÓÒÁÚÕ: ×Ù ÍÏÖÅÔÅ ÓÎÁÞÁÌÁ ×ÙÐÏÌÎÉÔØ ËÁËÉÅ-ÌÉÂÏ +ÉÚÍÅÎÅÎÉÑ ÔÅËÓÔÁ ×Ï ×ÒÅÍÑ ÐÒÏÓÍÏÔÒÁ ÔÅËÓÔÁ ÓÐÒÁ×ËÉ, É ÔÏÌØËÏ ÚÁÔÅÍ ÎÁÖÁÔØ +C-x 1. åÓÔØ ÅÝÅ ÎÅÓËÏÌØËÏ ÐÏÌÅÚÎÙÈ ÆÕÎËÃÉÊ, ÄÏÓÔÕÐÎÙÈ ÞÅÒÅÚ C-h: C-h f ïÐÉÓÙ×ÁÅÔ ÆÕÎËÃÉÀ. ÷ÁÍ ÎÅÏÂÈÏÄÉÍÏ ÎÁÂÒÁÔØ ÉÍÑ ÆÕÎËÃÉÉ. >> ðÏÐÒÏÂÕÊÔÅ ÎÁÂÒÁÔØ C-h f previous-line. - üÔÏ ÒÁÓÐÅÞÁÔÁÅÔ ÉÎÆÏÒÍÁÃÉÀ Emacs Ï ÆÕÎËÃÉÉ, ËÏÔÏÒÁÑ ×ÙÐÏÌÎÑÅÔÓÑ ËÏÍÁÎÄÏÊ + üÔÏ ÏÔÏÂÒÁÚÉÔ ÉÎÆÏÒÍÁÃÉÀ Emacs Ï ÆÕÎËÃÉÉ, ËÏÔÏÒÁÑ ×ÙÐÏÌÎÑÅÔÓÑ ËÏÍÁÎÄÏÊ C-p. áÎÁÌÏÇÉÞÎÁÑ ËÏÍÁÎÄÁ C-h v ÏÔÏÂÒÁÖÁÅÔ ÄÏËÕÍÅÎÔÁÃÉÀ Ï ÐÅÒÅÍÅÎÎÙÈ, ÚÎÁÞÅÎÉÅ ËÏÔÏÒÙÈ ×Ù ÍÏÖÅÔÅ ÉÚÍÅÎÉÔØ ÄÌÑ ÎÁÓÔÒÏÊËÉ ÐÏ×ÅÄÅÎÉÑ Emacs. ÷ÁÍ ÎÕÖÎÏ ÎÁÂÒÁÔØ ÉÍÑ ÐÅÒÅÍÅÎÎÏÊ, ËÏÇÄÁ Emacs ÚÁÐÒÏÓÉÔ ÅÇÏ. - C-h a (Hyper Apropos). ÷×ÅÄÉÔÅ ËÌÀÞÅ×ÏÅ ÓÌÏ×Ï É Emacs ÐÏËÁÖÅÔ ×ÁÍ ÓÐÉÓÏË - ×ÓÅÈ ÆÕÎËÃÉÊ É ÐÅÒÅÍÅÎÎÙÈ, ÉÍÅÎÁ ËÏÔÏÒÙÈ ÓÏÄÅÒÖÁÔ ÜÔÏ - ÓÌÏ×Ï. ëÏÍÁÎÄÙ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÂÙÔØ ×ÙÚ×ÁÎÙ ÞÅÒÅÚ Meta-x, ÂÕÄÕÔ - ÏÔÍÅÞÅÎÙ Ú×ÅÚÄÏÞËÏÊ ÓÌÅ×Á. + C-h a (Apropos Command). ÷×ÅÄÉÔÅ ËÌÀÞÅ×ÏÅ ÓÌÏ×Ï É Emacs ÐÏËÁÖÅÔ ×ÁÍ + ÓÐÉÓÏË ×ÓÅÈ ËÏÍÁÎÄ É ÆÕÎËÃÉÊ, ÉÍÅÎÁ ËÏÔÏÒÙÈ ÓÏÄÅÒÖÁÔ ÜÔÏ ÓÌÏ×Ï. + äÌÑ ËÏÍÁÎÄ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÂÙÔØ ×ÙÚ×ÁÎÙ ÞÅÒÅÚ Meta-x, Emacs + ÐÏËÁÖÅÔ ÓÌÏ×Ï "Command" ÓÌÅ×Á ÏÔ ÉÈ ÏÐÉÓÁÎÉÑ, Á ÔÁËÖÅ ÓÉÍ×ÏÌÙ, + ËÏÔÏÒÙÅ ÜÔÉ ËÏÍÁÎÄÙ ×ÙÚÙ×ÁÀÔ. >> îÁÂÅÒÉÔÅ C-h a file. -üÔÏ ÏÔÏÂÒÁÚÉÔ × ÄÒÕÇÏÍ ÏËÎÅ ÓÐÉÓÏË ×ÓÅÈ ËÏÍÁÎÄ M-x Õ ËÏÔÏÒÙÈ × ÉÍÅÎÁÈ -ÓÏÄÅÒÖÉÔÓÑ ÓÌÏ×Ï "file". ôÁËÖÅ × ÓÐÉÓËÅ ËÒÏÍÅ ËÏÍÁÎÄ ÔÁËÉÈ, ËÁË find-file, -×Ù Õ×ÉÄÉÔÅ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ ÓÉÍ×ÏÌØÎÙÅ ËÏÍÁÎÄÙ ÔÁËÉÅ, ËÁË C-x C-f. +üÔÏ ÏÔÏÂÒÁÚÉÔ × ÄÒÕÇÏÍ ÏËÎÅ ÓÐÉÓÏË ×ÓÅÈ ËÏÍÁÎÄ M-x, Õ ËÏÔÏÒÙÈ × ÉÍÅÎÁÈ +ÓÏÄÅÒÖÉÔÓÑ ÓÌÏ×Ï "file". ôÁËÖÅ × ÓÐÉÓËÅ ËÒÏÍÅ ÔÁËÉÈ ËÏÍÁÎÄ, ËÁË find-file, +×Ù Õ×ÉÄÉÔÅ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ ÓÉÍ×ÏÌØÎÙÅ ËÏÍÁÎÄÙ, ÔÁËÉÅ ËÁË C-x C-f. >> îÁÂÅÒÉÔÅ C-M-v ÄÌÑ ÐÒÏËÒÕÔËÉ ÏËÎÁ ÓÐÒÁ×ËÉ. ÷ÙÐÏÌÎÉÔÅ ÜÔÏ ÎÅÓËÏÌØËÏ ÒÁÚ. >> îÁÂÅÒÉÔÅ C-x 1 ÄÌÑ ÕÄÁÌÅÎÉÑ ÏËÎÁ ÓÐÒÁ×ËÉ. - C-h i þÉÔÁÔØ ÉÎÔÅÒÁËÔÉ×ÎÙÅ ÒÕËÏ×ÏÄÓÔ×Á (ÔÁË ÎÁÚÙ×ÁÅÍÙÅ Info). üÔÁ ËÏÍÁÎÄÁ + C-h i þÉÔÁÔØ ÉÎÔÅÒÁËÔÉ×ÎÙÅ ÒÕËÏ×ÏÄÓÔ×Á (ËÏÍÁÎÄÁ Info). üÔÁ ËÏÍÁÎÄÁ ÐÅÒÅÈÏÄÉÔ × ÓÐÅÃÉÁÌØÎÙÊ ÂÕÆÅÒ Ó ÉÍÅÎÅÍ `*info*', ÇÄÅ ×Ù ÍÏÖÅÔÅ ÞÉÔÁÔØ ÉÎÔÅÒÁËÔÉ×ÎÙÅ ÒÕËÏ×ÏÄÓÔ×Á ÄÌÑ ÐÁËÅÔÏ×, ÕÓÔÁÎÏ×ÌÅÎÎÙÈ × ×ÁÛÅÊ - ÓÉÓÔÅÍÅ. îÁÂÅÒÉÔÅ m emacs ÄÌÑ ÞÔÅÎÉÑ ÒÕËÏ×ÏÄÓÔ×Á ÐÏ - Emacs. åÓÌÉ ×Ù ÎÉËÏÇÄÁ ÒÁÎÅÅ ÎÅ ÉÓÐÏÌØÚÏ×ÁÌÉ Info, ÔÏ ÎÁÂÅÒÉÔÅ ? É + ÓÉÓÔÅÍÅ. îÁÂÅÒÉÔÅ m emacs ÄÌÑ ÞÔÅÎÉÑ ÒÕËÏ×ÏÄÓÔ×Á ÐÏ + Emacs. åÓÌÉ ×Ù ÎÉËÏÇÄÁ ÒÁÎÅÅ ÎÅ ÉÓÐÏÌØÚÏ×ÁÌÉ Info, ÔÏ ÎÁÂÅÒÉÔÅ ? É Emacs ÏÔËÒÏÅÔ ÕÞÅÂÎÉË ÐÏ ×ÏÚÍÏÖÎÏÓÔÑÍ ÒÅÖÉÍÁ Info. ïÄÎÁÖÄÙ ÏÚÎÁËÏÍÉ×ÛÉÓØ Ó ÜÔÉÍ ÕÞÅÂÎÉËÏÍ, ×Ù ÄÏÌÖÎÙ ÉÓÐÏÌØÚÏ×ÁÔØ ÒÕËÏ×ÏÄÓÔ×Ï Emacs Info × ËÁÞÅÓÔ×Å ÏÓÎÏ×ÎÏÊ ÄÏËÕÍÅÎÔÁÃÉÉ. @@ -1091,21 +1088,21 @@ META * äïðïìîéôåìøîùå ÷ïúíïöîïóôé ---------------------------- -÷Ù ÍÏÖÅÔÅ ÕÚÎÁÔØ ÂÏÌØÛÅ Ï Emacs ÞÉÔÁÑ ÅÇÏ ÒÕËÏ×ÏÄÓÔ×Ï, ËÎÉÇÉ ÉÌÉ -ÉÎÔÅÒÁËÔÉ×ÎÙÊ ÓÐÒÁ×ÏÞÎÉË (ÉÓÐÏÌØÚÕÊÔÅ ÍÅÎÀ Help ÉÌÉ ÎÁÂÅÒÉÔÅ F10 h r). ÷ÁÍ -ÏÓÏÂÅÎÎÏ ÐÏÎÒÁ×ÑÔÓÑ Ä×Å ÆÕÎËÃÉÉ -- ÄÏÐÏÌÎÅÎÉÅ, ËÏÔÏÒÏÅ ÓÏËÒÁÝÁÅÔ ËÏÌÉÞÅÓÔ×Ï +÷Ù ÍÏÖÅÔÅ ÕÚÎÁÔØ ÂÏÌØÛÅ Ï Emacs'Å, ÞÉÔÁÑ ÅÇÏ ÒÕËÏ×ÏÄÓÔ×Ï, ËÎÉÇÉ ÉÌÉ +ÉÎÔÅÒÁËÔÉ×ÎÙÊ ÓÐÒÁ×ÏÞÎÉË (ÉÓÐÏÌØÚÕÊÔÅ ÍÅÎÀ Help ÉÌÉ ÎÁÂÅÒÉÔÅ F10 h r). ÷ÁÍ +ÏÓÏÂÅÎÎÏ ÐÏÎÒÁ×ÑÔÓÑ Ä×Å ÆÕÎËÃÉÉ -- ÚÁ×ÅÒÛÅÎÉÅ, ËÏÔÏÒÏÅ ÓÏËÒÁÝÁÅÔ ËÏÌÉÞÅÓÔ×Ï ÎÁÖÉÍÁÅÍÙÈ ËÌÁ×ÉÛ, É dired, ËÏÔÏÒÙÊ ÏÂÌÅÇÞÁÅÔ ÒÁÂÏÔÕ Ó ÆÁÊÌÁÍÉ. -äÏÐÏÌÎÅÎÉÅ ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÉÚÂÅÖÁÔØ ÎÁÂÏÒÁ ÌÉÛÎÉÈ ÓÉÍ×ÏÌÏ×. +úÁ×ÅÒÛÅÎÉÅ ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÉÚÂÅÖÁÔØ ÎÁÂÏÒÁ ÌÉÛÎÉÈ ÓÉÍ×ÏÌÏ×. îÁÐÒÉÍÅÒ, ÅÓÌÉ ×Ù ÈÏÔÉÔÅ ÐÅÒÅËÌÀÞÉÔØÓÑ × ÂÕÆÅÒ *Messages*, ÔÏ ×Ù ÍÏÖÅÔÅ ÎÁÂÒÁÔØ C-x b *M É Emacs ÚÁÐÏÌÎÉÔ ÏÓÔÁÔÏË ÉÍÅÎÉ ÂÕÆÅÒÁ, ÐÏÓËÏÌØËÕ ÏÎ -ÍÏÖÅÔ ÏÐÒÅÄÅÌÉÔØ ÅÇÏ ÉÚ ÔÏÇÏ, ÞÔÏ ×Ù ÕÖÅ ÎÁÂÒÁÌÉ. äÏÐÏÌÎÅÎÉÑ ÏÐÉÓÁÎÙ × +ÍÏÖÅÔ ÏÐÒÅÄÅÌÉÔØ ÅÇÏ ÉÚ ÔÏÇÏ, ÞÔÏ ×Ù ÕÖÅ ÎÁÂÒÁÌÉ. úÁ×ÅÒÛÅÎÉÑ ÏÐÉÓÁÎÙ × Info-×ÅÒÓÉÉ ÒÕËÏ×ÏÄÓÔ×Á ÐÏ Emacs × ÒÁÚÄÅÌÅ "Completion". Dired ÐÏÚ×ÏÌÑÅÔ ×ÁÍ ÏÔÏÂÒÁÖÁÔØ ÓÐÉÓÏË ÆÁÊÌÏ× × ËÁÔÁÌÏÇÅ (Á ÔÁËÖÅ ÐÏÄËÁÔÁÌÏÇÁÈ, × ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÎÁÓÔÒÏÊËÉ), ÐÅÒÅÍÅÝÁÔØÓÑ ÐÏ ÓÐÉÓËÕ ÆÁÊÌÏ×, ÏÔËÒÙ×ÁÔØ ÉÈ, ÐÅÒÅÉÍÅÎÏ×Ù×ÁÔØ, ÕÄÁÌÑÔØ É ×ÙÐÏÌÎÑÔØ ÐÒÏÞÉÅ ÄÅÊÓÔ×ÉÑ ÎÁÄ -ÆÁÊÌÁÍÉ. Dired ÏÐÉÓÁÎ × Info-×ÅÒÓÉÉ ÒÕËÏ×ÏÄÓÔ×Á ÐÏ Emacs × ÒÁÚÄÅÌÅ "Dired". +ÆÁÊÌÁÍÉ. Dired ÏÐÉÓÁÎ × Info-×ÅÒÓÉÉ ÒÕËÏ×ÏÄÓÔ×Á ÐÏ Emacs × ÒÁÚÄÅÌÅ "Dired". ÷ ÒÕËÏ×ÏÄÓÔ×Å ÔÁËÖÅ ÏÐÉÓÁÎÙ ÐÒÏÞÉÅ ×ÏÚÍÏÖÎÏÓÔÉ Emacs. @@ -1113,7 +1110,7 @@ Dired * úáëìàþåîéå ------------ -úÁÐÏÍÎÉÔÅ, ÞÔÏ ÄÌÑ ÔÏÇÏ ÞÔÏÂÙ ÓÏ×ÓÅÍ ×ÙÊÔÉ ÉÚ Emacs, ÉÓÐÏÌØÚÕÅÔÓÑ ÓÏÞÅÔÁÎÉÅ +úÁÐÏÍÎÉÔÅ, ÞÔÏ ÄÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÓÏ×ÓÅÍ ×ÙÊÔÉ ÉÚ Emacs, ÉÓÐÏÌØÚÕÅÔÓÑ ÓÏÞÅÔÁÎÉÅ ËÌÁ×ÉÛ C-x C-c. á ÞÔÏÂÙ ×ÒÅÍÅÎÎÏ ×ÙÊÔÉ × ÏÂÏÌÏÞËÕ (shell) É ÐÏÔÏÍ ×ÅÒÎÕÔØÓÑ ÏÂÒÁÔÎÏ, ÉÓÐÏÌØÚÕÊÔÅ C-z. @@ -1125,14 +1122,14 @@ Dired ------------------------- üÔÏÔ ÕÞÅÂÎÉË ÐÒÏÉÚÏÛÅÌ ÉÚ ÄÌÉÎÎÏÊ ÓÅÒÉÉ ÕÞÅÂÎÉËÏ× Emacs, ÎÁÞÁÔÏÊ Ó ÏÄÎÁÖÄÙ -ÎÁÐÉÓÁÎÎÏÇÏ Stuart Cracraft ÄÌÑ ÏÒÉÇÉÎÁÌØÎÏÇÏ Emacs. +ÎÁÐÉÓÁÎÎÏÇÏ Stuart Cracraft ÄÌÑ ÏÒÉÇÉÎÁÌØÎÏÇÏ Emacs'Á. üÔÁ ×ÅÒÓÉÑ ÕÞÅÂÎÉËÁ, ËÁË É GNU Emacs, ÚÁÝÉÝÅÎÁ ÐÒÁ×ÁÍÉ ËÏÐÉÒÏ×ÁÎÉÑ -(copyrighted), É ÐÒÉÈÏÄÉÔ Ó ÏÇÒÁÎÉÞÅÎÉÑÍÉ ÒÁÓÐÒÏÓÔÒÁÎÅÎÉÑ ËÏÐÉÊ ÓÏ +(copyrighted) É ÐÒÉÈÏÄÉÔ Ó ÏÇÒÁÎÉÞÅÎÉÑÍÉ ÒÁÓÐÒÏÓÔÒÁÎÅÎÉÑ ËÏÐÉÊ ÓÏ ÓÌÅÄÕÀÝÉÍÉ ÓÏÇÌÁÛÅÎÉÑÍÉ: Copyright (C) 1985, 1996, 1998, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that the @@ -1151,7 +1148,7 @@ Copyright (C) 1985, 1996, 1998, 2001, 2002, 2003, 2004, ÏÂÅÓÐÅÞÅÎÉÑ ("×ÌÁÄÅÎÉÅ"), ÉÓÐÏÌØÚÕÑ, ÓÏÚÄÁ×ÁÑ É ÒÁÓÐÒÏÓÔÒÁÎÑÑ Ó×ÏÂÏÄÎÏÅ ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ! -// ÚÁÍÅÞÁÎÉÑ, ÉÓÐÒÁ×ÌÅÎÉÑ ÏÛÉÂÏË Ó ÖÄÕ ÐÏ ÁÄÒÅÓÕ alexott@gmail.com. +// ÖÄÕ ÚÁÍÅÞÁÎÉÊ É ÉÓÐÒÁ×ÌÅÎÉÑ ÏÛÉÂÏË ÐÏ ÁÄÒÅÓÕ alexott@gmail.com. // Alex Ott. ;;; Local Variables: diff --git a/etc/TUTORIAL.sk b/etc/TUTORIAL.sk index 7194654736f..2e1ba5e4283 100644 --- a/etc/TUTORIAL.sk +++ b/etc/TUTORIAL.sk @@ -531,13 +531,6 @@ v pr >> Stlaète C-x C-s pre ulo¾enie Va¹ej kópie tútorialu. Malo by to zobrazi» "Wrote ...TUTORIAL.sk" v spodnom riadku obrazovky. -POZNÁMKA: Na niektorých systémoch spôsobí stlaèenie C-x C-s zatuhnutie -obrazovky a nevidíte ¾iadny ïal¹í výstup z Emacsu. To znamená, ¾e -"vlastnos»" operaèného systému nazvaná "flow control" zachytáva C-s a -nepustí ho k Emacsu. Pre odtuhnutie obrazovky stlaète C-q. Potom -v sekcii "Spontaneous Entry to Incremental Search" v manuále Emacsu -vyhµadajte radu, ako sa vysporiada» s touto "vlastnos»ou". - Existujúci súbor mô¾ete vyhµada», aby ste ho mohli prehliada» alebo editova». Mô¾ete tie¾ vyhµada» súbor, ktorý e¹te neexistuje. To je spôsob, akým sa dá vytvori» súbor v Emacse: vyhµadajte súbor, ktorý @@ -1082,7 +1075,7 @@ T a je ¹írená s povolením distribuova» kópie za istých podmienok: Copyright (C) 1985, 1996, 1998, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Ka¾dému je zaruèené právo vytvára» a distribuova» presné kópie tohto dokumentu tak, ako ho dostal, na akomkoµvek médiu, s tým, ¾e bude diff --git a/etc/TUTORIAL.sl b/etc/TUTORIAL.sl index a682d9acbe0..3d28de84465 100644 --- a/etc/TUTORIAL.sl +++ b/etc/TUTORIAL.sl @@ -553,14 +553,6 @@ izgubite veliko. uèbenika. Emacs bo v vrstici na dnu zaslona izpisal ,,Wrote ...TUTORIAL``. -Opozorilo: na nekaterih sistemih bo ukaz C-x C-s zamrznil zaslon, in -tako ne boste videli, da Emacs ¹e kaj izpi¹e. To je znak, da je -operacijski sistem prestregel znak C-s in ga interpretiral kot znak za -prekinitev toka podatkov, namesto da bi ga posredoval Emacsu. Zaslon -,,odmrznete`` z ukazom C-q. Èe je va¹ sistem eden takih, si za nasvet, -kako re¹iti to nev¹eènost, oglejte razdelek ,,Spontaneous Entry to -Incremental Search`` v priroèniku za Emacs. - Poi¹èete lahko lahko ¾e obstojeèo datoteko, da si jo ogledate ali popravite, ali pa tudi datoteko, ki ¹e ne obstaja. To je naèin, kako z Emacsom ustvarimo novo datoteko: poi¹èite datoteko z izbranim imenom, @@ -1115,7 +1107,7 @@ To besedilo, kot sam GNU Emacs, je avtorsko delo, in njegovo razmno¾evanje in raz¹irjanje je dovoljeno pod naslednjimi pogoji: Copyright (C) 1985, 1996, 1998, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Dovoljeno je izdelovati in raz¹irjati neokrnjene kopije tega spisa v kakr¹nikoli obliki pod pogojem, da je ohranjena navedba o diff --git a/etc/TUTORIAL.sv b/etc/TUTORIAL.sv index 2a54047e8dc..a0225853745 100644 --- a/etc/TUTORIAL.sv +++ b/etc/TUTORIAL.sv @@ -548,13 +548,6 @@ systemet kraschar. Detta skall leda till att "Wrote ...TUTORIAL.sv" skrivs ut nederst på skärmbilden. -Observera: På vissa system leder C-x C-s till att skärmen låser -sig. Detta tyder på att systemet har "flödeskontroll" och att denna -har fångat C-s och inte skickat den vidare till Emacs. För att -fortsätta måste du trycka C-q. Se i så fall i avsnittet "Spontaneous -Entry to Incremental Search" i Emacs-manualen för att få tips på hur -detta kan undvikas. - Du kan finna en existerande fil, antingen för att förändra den eller för att titta på den. Du kan också finna en fil som inte existerar. Det är så man skapar nya filer med Emacs: finn filen, som är tom till @@ -1127,7 +1120,7 @@ This version of the tutorial, like GNU Emacs, is copyrighted, and comes with permission to distribute copies on certain conditions: Copyright (C) 1985, 1996, 1998, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that the diff --git a/etc/TUTORIAL.th b/etc/TUTORIAL.th index 8e70bc4fc71..208316d76b8 100644 --- a/etc/TUTORIAL.th +++ b/etc/TUTORIAL.th @@ -485,12 +485,6 @@ C-x C-f 0,T!g1(P7S'R9(B, ,TaEP(P`0BW1M9a0?i1A0"i1M0AY1E07Uh107h >> 0,T;i1M9$S0JQh1'(B C-x C-s, ,T`0>Wh1M0(Q14`0!g1:JS`9R0$Yh10AW1M!RCc0*i1"M'07h1R9(B. ,T(P;CR!/(B "Write ...TUTORIAL.th" 0,T7Uh1:CC07Q140Eh1R'0JX14"M'K09i1R(M(B. -0,T"i1M0JQ1'`!5(B: ,Tc9:R'CP::(B, ,T!RC0;i1M9$S0JQh1'(B C-x C-s ,T(P7Sc0Ki1K09i1R(M*P0'Q1!aEP07h1R9(Pd0Ah1d04i10CQ1:(B -0,T"i1M$GRAc4f(B ,T(R!0MU1aA!0Jl1(B. 0,T9Uh1aJ4'0Gh1R(B "feature" ,T"M'CP::;0/T10:Q105T1!RC07Uh1`0CU1B!0Gh1R(B "flow -control" ,Td04i10"Q14"GR'!RC7S'R9"M'(B C-s ,TaEPd0Ah1;0Eh1MBc0Ki1!0EQ1:0JYh10MU1aA!0Jl10MU1!(B. ,Tc0*i1$S0JQh1'(B C-g -,T`0>Wh1Ma0!i1d"d0Ah1c0Ki1K09i1R(M*P0'Q1!(B. ,Ta0Ei1G04Y1:707Uh10Gh1R04i1GB(B "Spontaneous Entry to -Incremental Search" ,Tc90$Yh10AW1M"M'0MU1aA!0Jl10+Vh1'(Pa9P9S!RC0(Q14!RC`0!Uh1BG0!Q1:(B "feature" 0,T9Ui1(B. - 0,T7h1R9JRARC6(P`0BW1M9a0?i1A0"i1M0AY1E07Uh10AU1M0BYh1a0Ei1G(B, ,T`0>Wh1M07Uh1(P04Y1K0CW1Ma0!i1d"(B. 0,T7h1R9JRARC6(P`0BW1M9(B ,Ta0?i1A0"i1M0AY1E07Uh10BQ1'd0Ah1;CR!/0!g1d04i1(B. 0,T9Uh1`0;g19!RCJ0Ci1R'a0?i1A0"i1M0AY1EcK0Ah1"M'0MU1aA!0Jl1(B: ,T`0BW1M9a0?i1A0"i1M0AY1E(B, 0,T+Vh1'(P`0CTh1A05i1904i1GBK09i1R(M0Gh1R'`;0Eh1R(B, ,Ta0Ei1G7S!RCa7C!0"i1M$GRA`0>Wh1M07Uh1(PJ0Ci1R'`0;g19a0?i1A0"i1M0AY1E05h1Md;(B. @@ -971,7 +965,7 @@ This version of the tutorial, like GNU Emacs, is copyrighted, and comes with permission to distribute copies on certain conditions: Copyright (C) 1985, 1996, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that the diff --git a/etc/TUTORIAL.zh b/etc/TUTORIAL.zh index 2793312763b..7b9b5457564 100644 --- a/etc/TUTORIAL.zh +++ b/etc/TUTORIAL.zh @@ -1050,7 +1050,7 @@ issue here> ´²§G¨ä«þ¨©¡G Copyright (C) 1985, 1996, 1998, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that the diff --git a/etc/calccard.tex b/etc/calccard.tex index dec07c4705d..189942c4293 100644 --- a/etc/calccard.tex +++ b/etc/calccard.tex @@ -14,13 +14,13 @@ % Typical command to print (3 cols): dvips -t landscape calccard.dvi % Copyright (C) 1987, 1992, 2001, 2002, 2003, 2004, -% 2005, 2006, 2007 Free Software Foundation, Inc. +% 2005, 2006, 2007, 2008 Free Software Foundation, Inc. % This file is part of GNU Emacs. % GNU Emacs is free software; you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by -% the Free Software Foundation; either version 2, or (at your option) +% the Free Software Foundation; either version 3, or (at your option) % any later version. % GNU Emacs is distributed in the hope that it will be useful, @@ -60,7 +60,7 @@ % Internet: gildea@stop.mail-abuse.org \def\versionnumber{2.1} -\def\year{2007} % latest copyright year +\def\year{2008} % latest copyright year \def\version{v\versionnumber} \def\shortcopyrightnotice{\vskip 1ex plus 2 fill diff --git a/etc/compilation.txt b/etc/compilation.txt index 933b486bb0f..5be72c4c7f2 100644 --- a/etc/compilation.txt +++ b/etc/compilation.txt @@ -287,6 +287,7 @@ symbol: perl syntax error at automake line 922, near "':'" Died at test.pl line 27. store::odrecall('File_A', 'x2') called at store.pm line 90 + (in cleanup) something bad at foo.pl line 3 during global destruction. * RXP @@ -406,15 +407,15 @@ Compilation exited abnormally with code 1 at Wed Jul 20 12:21:12 Compilation finished at Thu Jul 21 15:02:15 -Copyright (C) 2004, 2005, 2006, 2007 +Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. COPYING PERMISSIONS: This document is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. + the Free Software Foundation; either version 3, or (at your option) + any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -422,5 +423,6 @@ COPYING PERMISSIONS: GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + along with this program; see the file COPYING. If not, write to + the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + Boston, MA 02110-1301 USA. diff --git a/etc/cs-dired-ref.tex b/etc/cs-dired-ref.tex index e78bf29b973..f0b63fdcfa3 100644 --- a/etc/cs-dired-ref.tex +++ b/etc/cs-dired-ref.tex @@ -1,6 +1,6 @@ % Reference Card for Dired % Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, -% 2006, 2007 Free Software Foundation, Inc. +% 2006, 2007, 2008 Free Software Foundation, Inc. % Czech hyphenation rules applied \chyph @@ -9,7 +9,7 @@ % GNU Emacs is free software; you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by -% the Free Software Foundation; either version 2, or (at your option) +% the Free Software Foundation; either version 3, or (at your option) % any later version. % GNU Emacs is distributed in the hope that it will be useful, @@ -49,7 +49,7 @@ \def\versionnumber{0.1} \def\versionemacs{22} -\def\year{2007} % latest copyright year +\def\year{2008} % latest copyright year \def\version{May 2006\ v\versionnumber} \def\shortcopyrightnotice{\vskip 1ex plus 2 fill diff --git a/etc/cs-refcard.tex b/etc/cs-refcard.tex index 9b5b689f66d..b1279828385 100644 --- a/etc/cs-refcard.tex +++ b/etc/cs-refcard.tex @@ -12,13 +12,13 @@ \columnsperpage=1 % Copyright (C) 1987, 1993, 1996, 1997, 2001, 2002, 2003, 2004, -% 2005, 2006, 2007 Free Software Foundation, Inc. +% 2005, 2006, 2007, 2008 Free Software Foundation, Inc. % This file is part of GNU Emacs. % GNU Emacs is free software; you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by -% the Free Software Foundation; either version 2, or (at your option) +% the Free Software Foundation; either version 3, or (at your option) % any later version. % GNU Emacs is distributed in the hope that it will be useful, @@ -68,7 +68,7 @@ \def\versionnumber{2.2} \def\versionemacs{22} \def\versionyear{2006} % latest update -\def\year{2007} % latest copyright year +\def\year{2008} % latest copyright year \def\shortcopyrightnotice{\vskip 1ex plus 2 fill \centerline{\small \copyright\ \year\ Free Software Foundation, Inc. diff --git a/etc/cs-survival.tex b/etc/cs-survival.tex index 20a88118481..b162b0cfceb 100644 --- a/etc/cs-survival.tex +++ b/etc/cs-survival.tex @@ -22,13 +22,13 @@ \fi % Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, -% 2006, 2007 Free Software Foundation, Inc. +% 2006, 2007, 2008 Free Software Foundation, Inc. % This file is part of GNU Emacs. % GNU Emacs is free software; you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by -% the Free Software Foundation; either version 2, or (at your option) +% the Free Software Foundation; either version 3, or (at your option) % any later version. % GNU Emacs is distributed in the hope that it will be useful, @@ -52,7 +52,7 @@ \def\versionnumber{1.0} \def\versionemacs{21} \def\versiondate{duben 2000} % latest update -\def\year{2007} % latest copyright year +\def\year{2008} % latest copyright year \def\copyrightnotice{\penalty-1\vfill \vbox{\smallfont\baselineskip=0.8\baselineskip\raggedcenter diff --git a/etc/de-refcard.tex b/etc/de-refcard.tex index 94f9bf0dc47..210aac79f72 100644 --- a/etc/de-refcard.tex +++ b/etc/de-refcard.tex @@ -24,13 +24,13 @@ % Nothing else needs to be changed below this line. % Copyright (C) 1987, 1993, 1996, 2000, 2001, 2002, 2003, 2004, -% 2005, 2006, 2007 Free Software Foundation, Inc. +% 2005, 2006, 2007, 2008 Free Software Foundation, Inc. % This file is part of GNU Emacs. % GNU Emacs is free software; you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by -% the Free Software Foundation; either version 2, or (at your option) +% the Free Software Foundation; either version 3, or (at your option) % any later version. % GNU Emacs is distributed in the hope that it will be useful, @@ -75,7 +75,7 @@ \def\versionnumber{2.3} \def\versionyear{2006} % latest update \def\versionemacs{22} -\def\year{2007} % latest copyright year +\def\year{2008} % latest copyright year \def\shortcopyrightnotice{\vskip 1ex plus 2 fill \centerline{\small \copyright\ \year\ Free Software Foundation, Inc. diff --git a/etc/dired-ref.tex b/etc/dired-ref.tex index 061c1415ec2..6d56b50ff33 100644 --- a/etc/dired-ref.tex +++ b/etc/dired-ref.tex @@ -1,12 +1,12 @@ % Reference Card for Dired % Copyright (C) 2000, 2001, 2002, 2003, 2004, -% 2005, 2006, 2007 Free Software Foundation, Inc. +% 2005, 2006, 2007, 2008 Free Software Foundation, Inc. % This file is part of GNU Emacs. % GNU Emacs is free software; you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by -% the Free Software Foundation; either version 2, or (at your option) +% the Free Software Foundation; either version 3, or (at your option) % any later version. % GNU Emacs is distributed in the hope that it will be useful, @@ -41,7 +41,7 @@ \def\versionnumber{0.1} -\def\year{2007} % latest copyright year +\def\year{2008} % latest copyright year \def\version{May 2006\ v\versionnumber} \def\shortcopyrightnotice{\vskip 1ex plus 2 fill diff --git a/etc/edt-user.doc b/etc/edt-user.doc index c99bb83a364..2403bd3e5b9 100644 --- a/etc/edt-user.doc +++ b/etc/edt-user.doc @@ -3,7 +3,7 @@ File: edt-user.doc --- EDT Emulation User Instructions For GNU Emacs 19 Copyright (C) 1986, 1992, 1994, 1995, 1999, 2000, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Author: Kevin Gallagher Maintainer: Kevin Gallagher @@ -13,7 +13,7 @@ This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software -Foundation; either version 2, or (at your option) any later version. +Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A @@ -824,7 +824,7 @@ G-C-\: Split Window | FNDNXT | Yank | CUT | ;;; For GNU Emacs 19 and Above ;;; ;; Copyright (C) 1986, 1992, 1993, 2000, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Kevin Gallagher ;; Maintainer: Kevin Gallagher @@ -832,7 +832,7 @@ G-C-\: Split Window | FNDNXT | Yank | CUT | ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/emacs-buffer.gdb b/etc/emacs-buffer.gdb index 6a6a73ca0b6..cb64005e14a 100644 --- a/etc/emacs-buffer.gdb +++ b/etc/emacs-buffer.gdb @@ -1,6 +1,6 @@ # emacs-buffer.gdb --- gdb macros for recovering buffers from emacs coredumps -# Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. +# Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # Maintainer: Noah Friedman # Status: Works with Emacs 22.0.51.1 (prerelease) as of 2006-01-12. @@ -13,7 +13,7 @@ # # GNU Emacs is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) +# the Free Software Foundation; either version 3, or (at your option) # any later version. # # GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/emacs.1 b/etc/emacs.1 index ef945420de2..3d70a3ceb9e 100644 --- a/etc/emacs.1 +++ b/etc/emacs.1 @@ -1,11 +1,12 @@ +'\" t .\" Copyright (C) 1995, 1999, 2000, 2001, 2002, 2003, 2004, -.\" 2005, 2006, 2007 Free Software Foundation, Inc. +.\" 2005, 2006, 2007, 2008 Free Software Foundation, Inc. .\" .\" This file is part of GNU Emacs. .\" .\" GNU Emacs is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by -.\" the Free Software Foundation; either version 2, or (at your option) +.\" the Free Software Foundation; either version 3, or (at your option) .\" any later version. .\" .\" GNU Emacs is distributed in the hope that it will be useful, @@ -19,28 +20,34 @@ .\" Boston, MA 02110-1301, USA. .\" '\" t -.TH EMACS 1 "2007 April 13" "GNU Emacs 22.1" +.TH EMACS 1 "2007 April 13" "GNU Emacs 22.2" +. +. .SH NAME emacs \- GNU project Emacs +. +. .SH SYNOPSIS .B emacs [ .I command-line switches ] [ -.I files ... +.I files ...\& ] -.br +. +. .SH DESCRIPTION .I GNU Emacs is a version of -.I Emacs, +.IR Emacs , written by the author of the original (PDP-10) -.I Emacs, +.IR Emacs , Richard Stallman. .br The primary documentation of GNU Emacs is in the GNU Emacs Manual, which you can read using Info, either from Emacs or as a standalone -program. Please look there for complete and up-to-date documentation. +program. +Please look there for complete and up-to-date documentation. This man page is updated only when someone volunteers to do so; the Emacs maintainers' priority goal is to minimize the amount of time this man page takes away from other more useful projects. @@ -56,9 +63,9 @@ has an extensive interactive help facility, but the facility assumes that you know how to manipulate .I Emacs windows and buffers. -CTRL-h or F1 enters the Help facility. Help Tutorial (CTRL-h t) -starts an interactive tutorial which can teach beginners the fundamentals -of +CTRL-h or F1 enters the Help facility. +Help Tutorial (CTRL-h t) starts an interactive tutorial which can +teach beginners the fundamentals of .I Emacs in a few minutes. Help Apropos (CTRL-h a) helps you @@ -66,11 +73,11 @@ find a command given its functionality, Help Character (CTRL-h c) describes a given character's effect, and Help Function (CTRL-h f) describes a given Lisp function specified by name. .PP -.I Emacs's +.IR Emacs 's Undo can undo several steps of modification to your buffers, so it is easy to recover from editing mistakes. .PP -.I GNU Emacs's +.IR "GNU Emacs" 's many special packages handle mail reading (RMail) and sending (Mail), outline editing (Outline), compiling (Compile), running subshells within @@ -81,130 +88,176 @@ windows (Shell), running a Lisp read-eval-print loop There is an extensive reference manual, but users of other Emacses should have little trouble adapting even -without a copy. Users new to +without a copy. +Users new to .I Emacs will be able to use basic features fairly rapidly by studying the tutorial and using the self-documentation features. -.PP -.SM Emacs Options -.PP +. +.SS Emacs Options The following options are of general interest: +.RS .TP 8 .I file Edit -.I file. +.IR file . .TP -.BI \+ number +.BI \-\-file " file\fR,\fP " \-\-find-file " file\fR,\fP " \-\-visit " file" +The same as specifying +.I file +directly as an argument. +.TP +.BI + number Go to the line specified by .I number (do not insert a space between the "+" sign and -the number). This applies only to the next file specified. +the number). +This applies only to the next file specified. .TP -.BI \+ line:column +.BI + line:column Go to the specified .I line and -.I column +.IR column . .TP -.B \-q +.BR \-q ", " \-\-no\-init\-file Do not load an init file. .TP -.B \-no-site-file +.B \-\-no\-site\-file Do not load the site-wide startup file. .TP -.BI \-debug-init +.B \-\-no\-desktop +Do not load a saved desktop. +.TP +.BR \-nl ", " \-\-no\-shared\-memory +Do not use shared memory. +.TP +.BR \-Q ", " \-\-quick +Equivalent to "\-q \-\-no\-site\-file \-\-no\-splash". +.TP +.B \-\-no\-splash +Do not display a splash screen during start-up. +.TP +.B \-\-debug\-init Enable .I Emacs Lisp debugger during the processing of the user init file -.BI ~/.emacs. +.BR ~/.emacs . This is useful for debugging problems in the init file. .TP -.BI \-u " user" +.BI \-u " user\fR,\fP " \-\-user " user" Load -.I user's +.IR user 's init file. .TP -.BI \-t " file" +.BI \-t " file\fR,\fP " \-\-terminal " file" Use specified .I file as the terminal instead of using stdin/stdout. This must be the first argument specified in the command line. .TP -.B \-version +.BR \-\-multibyte ", " \-\-no-unibyte +Enable multibyte mode (enabled by default). +.TP +.BR \-\-unibyte ", " \-\-no-multibyte +Enable unibyte mode. +.TP +.B \-\-version Display .I Emacs version information and exit. +.TP +.B \-\-help +Display this help and exit. +.RE .PP The following options are lisp-oriented (these options are processed in the order encountered): +.RS .TP 8 -.BI \-f " function" +.BI \-f " function\fR,\fP " \-\-funcall " function" Execute the lisp function -.I function. +.IR function . .TP -.BI \-l " file" +.BI \-l " file\fR,\fP " \-\-load " file" Load the lisp code in the file -.I file. +.IR file . .TP -.BI \-eval " expr" +.BI \-\-eval " expr\fR,\fP " \-\-execute " expr" Evaluate the Lisp expression -.I expr. +.IR expr . +.RE .PP The following options are useful when running .I Emacs as a batch editor: +.RS .TP 8 -.BI \-batch -Edit in batch mode. The editor will send messages to stderr. This -option must be the first in the argument list. You must use \-l and \-f -options to specify files to execute and functions to call. +.B \-\-batch +Edit in batch mode. +The editor will send messages to stderr. +This option must be the first in the argument list. +You must use \-l and \-f options to specify files to execute +and functions to call. +.TP +.BI \-\-script " file" +Run +.I file +as an Emacs Lisp script. .TP -.B \-kill +.BI \-\-insert " file" +Insert contents of +.I file +into the current buffer. +.TP +.B \-\-kill Exit .I Emacs while in batch mode. .TP -.BI \-L " directory" +.BI \-L " dir\fR,\fP " \-\-directory " dir" Add -.I directory +.I dir to the list of directories .I Emacs searches for Lisp files. +.RE +. .\" START DELETING HERE IF YOU'RE NOT USING X -.PP -.SM Using Emacs with X -.PP +.SS Using Emacs with X .I Emacs has been tailored to work well with the X window system. If you run .I Emacs from under X windows, it will create its own X window to -display in. You will probably want to start the editor -as a background process -so that you can continue using your original window. +display in. +You will probably want to start the editor as a background +process so that you can continue using your original window. .PP .I Emacs can be started with the following X switches: +.RS .TP 8 -.BI \-name " name" -Specifies the name which should be assigned to the initial +.BI \-\-name " name" +Specify the name which should be assigned to the initial .I Emacs -window. This controls looking up X resources as well as the window title. -.TP 8 -.BI \-title " name" -Specifies the title for the initial X window. -.TP 8 -.B \-r +window. +This controls looking up X resources as well as the window title. +.TP +.BI \-T " name\fR,\fP " \-\-title " name" +Specify the title for the initial X window. +.TP +.BR \-r ", " \-rv ", " \-\-reverse\-video Display the .I Emacs window in reverse video. .TP -.BI \-font " font, " \-fn " font" +.BI \-fn " font\fR,\fP " \-\-font " font" Set the .I Emacs window's font to that specified by -.I font. +.IR font . You will find the various .I X fonts in the @@ -215,84 +268,119 @@ Note that will only accept fixed width fonts. Under the X11 Release 4 font-naming conventions, any font with the value "m" or "c" in the eleventh field of the font name is a fixed -width font. Furthermore, fonts whose name are of the form +width font. +Furthermore, fonts whose name are of the form .IR width x height are generally fixed width, as is the font .IR fixed . See -.IR xlsfonts (1) +.BR xlsfonts (1) for more information. When you specify a font, be sure to put a space between the switch and the font name. .TP -.BI \-bw " pixels" +.BI \-\-xrm " resources" +Set additional X resources. +.TP +.BI "\-\-color\fR,\fP \-\-color=" mode +Override color mode for character terminals; +.I mode +defaults to `auto', and can also be `never', `auto', `always', +or a mode name like `ansi8'. +.TP +.BI \-bw " pixels\fR,\fP " \-\-border\-width " pixels" Set the .I Emacs window's border width to the number of pixels specified by -.I pixels. +.IR pixels . Defaults to one pixel on each side of the window. .TP -.BI \-ib " pixels" +.BI \-ib " pixels\fR,\fP " \-\-internal\-border " pixels" Set the window's internal border width to the number of pixels specified by -.I pixels. +.IR pixels . Defaults to one pixel of padding on each side of the window. -.PP -.TP 8 -.BI \-\-geometry " geometry" +.TP +.BI \-g " geometry\fR,\fP " \-\-geometry " geometry" Set the .I Emacs -window's width, height, and position as specified. The geometry -specification is in the standard X format; see -.IR X (1) +window's width, height, and position as specified. +The geometry specification is in the standard X format; see +.BR X (7) for more information. -The width and height are specified in characters; the default is 80 by -24. See the Emacs manual, section "Options for Window Size and Position", +The width and height are specified in characters; the default is +80 by 24. +See the Emacs manual, section "Options for Window Size and Position", for information on how window sizes interact with selecting or deselecting the tool bar and menu bar. -.PP -.TP 8 -.BI \-fg " color" -On color displays, sets the color of the text. +.TP +.BI \-lsp " pixels\fR,\fP " \-\-line\-spacing " pixels" +Additional space to put between lines. +.TP +.BR \-vb ", " \-\-vertical\-scroll\-bars +Enable vertical scrollbars. +.TP +.BR \-fh ", " \-\-fullheight +Make the first frame as high as the screen. +.TP +.BR \-fs ", " \-\-fullscreen +Make the first frame fullscreen. +.TP +.BR \-fw ", " \-\-fullwidth +Make the first frame as wide as the screen. +.TP +.BI \-fg " color\fR,\fP " \-\-foreground\-color " color" +On color displays, set the color of the text. Use the command -.I M-x list-colors-display -for a list of valid -color names. +.I M\-x list\-colors\-display +for a list of valid color names. .TP -.BI \-bg " color" -On color displays, -sets the color of the window's background. +.BI \-bg " color\fR,\fP " \-\-background\-color " color" +On color displays, set the color of the window's background. .TP -.BI \-bd " color" -On color displays, -sets the color of the window's border. +.BI \-bd " color\fR,\fP " \-\-border\-color " color" +On color displays, set the color of the window's border. .TP -.BI \-cr " color" -On color displays, -sets the color of the window's text cursor. +.BI \-cr " color\fR,\fP " \-\-cursor\-color " color" +On color displays, set the color of the window's text cursor. .TP -.BI \-ms " color" -On color displays, -sets the color of the window's mouse cursor. +.BI \-ms " color\fR,\fP " \-\-mouse\-color " color" +On color displays, set the color of the window's mouse cursor. .TP -.BI \-d " displayname, " \-display " displayname" +.BI \-d " displayname\fR,\fP " \-\-display " displayname" Create the .I Emacs window on the display specified by .IR displayname . Must be the first option specified in the command line. .TP -.B \-nw -Tells +.BR \-nbi ", " \-\-no\-bitmap\-icon +Do not use picture of gnu for Emacs icon. +.TP +.B \-\-iconic +Start .I Emacs -not to use its special interface to X. If you use this -switch when invoking +in iconified state. +.TP +.BR \-nbc ", " \-\-no\-blinking\-cursor +Disable blinking cursor. +.TP +.BR \-nw ", " \-\-no\-window\-system +Tell +.I Emacs +not to use its special interface to X. +If you use this switch when invoking .I Emacs from an -.IR xterm (1) +.BR xterm (1) window, display is done in that window. +.TP +.BR \-D ", " \-\-basic\-display +This option disables many display features; use it for +debugging Emacs. +.RE .PP You can set .I X @@ -301,75 +389,185 @@ default values for your windows in your .I \.Xresources file (see -.IR xrdb (1)). +.BR xrdb (1)). Use the following format: .IP -emacs.keyword:value +.RI emacs. keyword : value .PP where .I value specifies the default value of -.I keyword. +.IR keyword . .I Emacs lets you set default values for the following keywords: +.RS .TP 8 -.B font (\fPclass\fB Font) -Sets the window's text font. -.TP -.B reverseVideo (\fPclass\fB ReverseVideo) -If -.I reverseVideo's -value is set to -.I on, -the window will be displayed in reverse video. +.BR background " (class " Background ) +For color displays, +sets the window's background color. .TP -.B bitmapIcon (\fPclass\fB BitmapIcon) +.BR bitmapIcon " (class " BitmapIcon ) If -.I bitmapIcon's +.BR bitmapIcon 's value is set to -.I on, +.IR on , the window will iconify into the "kitchen sink." .TP -.B borderWidth (\fPclass\fB BorderWidth) +.BR borderColor " (class " BorderColor ) +For color displays, +sets the color of the window's border. +.TP +.BR borderWidth " (class " BorderWidth ) Sets the window's border width in pixels. .TP -.B internalBorder (\fPclass\fB BorderWidth) -Sets the window's internal border width in pixels. +.BR cursorColor " (class " Foreground ) +For color displays, +sets the color of the window's text cursor. .TP -.B foreground (\fPclass\fB Foreground) +.BR cursorBlink " (class " CursorBlink ) +Specifies whether to make the cursor blink. +The default is +.IR on . +Use +.I off +or +.I false +to turn cursor blinking off. +.TP +.BR font " (class " Font ) +Sets the window's text font. +.TP +.BR foreground " (class " Foreground ) For color displays, sets the window's text color. .TP -.B background (\fPclass\fB Background) -For color displays, -sets the window's background color. +.BR fullscreen " (class " Fullscreen ) +The desired fullscreen size. +The value can be one of +.IR fullboth , +.IR fullwidth , +or +.IR fullheight , +which correspond to the command-line options `\-fs', `\-fw', and +`\-fh', respectively. +Note that this applies to the initial frame only. +.TP +.BR geometry " (class " Geometry ) +Sets the geometry of the +.I Emacs +window (as described above). .TP -.B borderColor (\fPclass\fB BorderColor) -For color displays, -sets the color of the window's border. +.BR iconName " (class " Title ) +Sets the icon name for the +.I Emacs +window icon. .TP -.B cursorColor (\fPclass\fB Foreground) -For color displays, -sets the color of the window's text cursor. +.BR internalBorder " (class " BorderWidth ) +Sets the window's internal border width in pixels. .TP -.B pointerColor (\fPclass\fB Foreground) +.BR lineSpacing " (class " LineSpacing ) +Additional space ("leading") between lines, in pixels. +.TP +.BR menuBar " (class " MenuBar ) +Gives frames menu bars if +.IR on ; +don't have menu bars if +.IR off . +See the Emacs manual, sections "Lucid Resources" and "LessTif +Resources", for how to control the appearance of the menu bar +if you have one. +.TP +.BR minibuffer " (class " Minibuffer ) +If +.IR none , +don't make a minibuffer in this frame. +It will use a separate minibuffer frame instead. +.TP +.BR paneFont " (class " Font ) +Font name for menu pane titles, in non-toolkit versions of +.IR Emacs . +.TP +.BR pointerColor " (class " Foreground ) For color displays, sets the color of the window's mouse cursor. .TP -.B geometry (\fPclass\fB Geometry) -Sets the geometry of the -.I Emacs -window (as described above). +.BR privateColormap " (class " PrivateColormap ) +If +.IR on , +use a private color map, in the case where the "default +visual" of class +.B PseudoColor +and +.B Emacs +is using it. +.TP +.BR reverseVideo " (class " ReverseVideo ) +If +.BR reverseVideo 's +value is set to +.IR on , +the window will be displayed in reverse video. +.TP +.BR screenGamma " (class "ScreenGamma ) +Gamma correction for colors, equivalent to the frame parameter +`screen\-gamma'. +.TP +.BR scrollBarWidth " (class "ScrollBarWidth ) +The scroll bar width in pixels, equivalent to the frame parameter +`scroll\-bar\-width'. .TP -.B title (\fPclass\fB Title) +.BR selectionFont " (class " SelectionFont ) +Font name for pop-up menu items, in non-toolkit versions of +.IR Emacs . +(For toolkit versions, see the Emacs manual, sections +"Lucid Resources" and "LessTif Resources".) +.TP +.BR selectionTimeout " (class " SelectionTimeout ) +Number of milliseconds to wait for a selection reply. +A value of 0 means wait as long as necessary. +.TP +.BR synchronous " (class " Synchronous ) +Run Emacs in synchronous mode if +.IR on . +Synchronous mode is useful for debugging X problems. +.TP +.BR title " (class " Title ) Sets the title of the .I Emacs window. .TP -.B iconName (\fPclass\fB Title) -Sets the icon name for the -.I Emacs -window icon. +.BR toolBar " (class " ToolBar ) +Number of lines to reserve for the tool bar. +.TP +.BR useXIM " (class " UseXIM ) +Turns off use of X input methods (XIM) if +.I false +or +.IR off . +.TP +.BR verticalScrollBars " (class " ScrollBars ) +Gives frames scroll bars if +.IR on ; +suppresses scroll bars if +.IR off . +.TP +.BR visualClass " (class " VisualClass ) +Specify the "visual" that X should use. +This tells X how to handle colors. +The value should start with one of +.IR TrueColor , +.IR PseudoColor , +.IR DirectColor , +.IR StaticColor , +.IR GrayScale , +and +.IR StaticGray , +followed by +.BI \- depth\fR,\fP +where +.I depth +is the number of color planes. +.RE .PP If you try to set color values while using a black and white display, the window's characteristics will default as follows: @@ -377,14 +575,17 @@ the foreground color will be set to black, the background color will be set to white, the border color will be set to grey, and the text and mouse cursors will be set to black. +. +.SS Using the Mouse .PP -.SM Using the Mouse -.PP -The following lists the mouse button bindings for the +The following lists some of the mouse button bindings for the .I Emacs window under X11. - +. +.RS .TS +l l +- - l l. MOUSE BUTTON FUNCTION left Set point. @@ -394,83 +595,93 @@ SHIFT-middle Cut text into X cut buffer. SHIFT-right Paste text. CTRL-middle Cut text into X cut buffer and kill it. CTRL-right T{ -Select this window, then split it into -two windows. Same as typing CTRL-x 2. +Select this window, then split it into two windows. +Same as typing CTRL\-x 2. T} .\" START DELETING HERE IF YOU'RE NOT USING X MENUS CTRL-SHIFT-left T{ X buffer menu \(em hold the buttons and keys -down, wait for menu to appear, select -buffer, and release. Move mouse out of -menu and release to cancel. +down, wait for menu to appear, select buffer, and release. +Move mouse out of menu and release to cancel. +T} +CTRL-SHIFT-middle T{ +X help menu \(em pop up index card menu for Emacs help. T} -CTRL-SHIFT-middle X help menu \(em pop up index card menu for Emacs help. .\" STOP DELETING HERE IF YOU'RE NOT USING X MENUS CTRL-SHIFT-right T{ -Select window with mouse, and delete all -other windows. Same as typing CTRL-x 1. +Select window with mouse, and delete all other windows. +Same as typing CTRL\-x 1. T} .\" STOP DELETING HERE IF YOU'RE NOT USING X .TE -.PP +.RE +. +. .SH MANUALS You can order printed copies of the GNU Emacs Manual from the Free -Software Foundation, which develops GNU software. See the file ORDERS -for ordering information. +Software Foundation, which develops GNU software. +See the file ORDERS for ordering information. .br -Your local Emacs maintainer might also have copies available. As -with all software and publications from FSF, everyone is permitted to -make and distribute copies of the Emacs manual. The TeX source to the -manual is also included in the Emacs source distribution. -.PP +Your local Emacs maintainer might also have copies available. +As with all software and publications from FSF, everyone is permitted +to make and distribute copies of the Emacs manual. +The TeX source to the manual is also included in the Emacs source +distribution. +. +. .SH FILES -/usr/local/share/info - files for the Info documentation browser. +/usr/local/share/info \(em files for the Info documentation browser. The complete text of the Emacs reference manual is included in a -convenient tree structured form. Also includes the Emacs Lisp -Reference Manual, useful to anyone wishing to write programs in the -Emacs Lisp extension language. +convenient tree structured form. +Also includes the Emacs Lisp Reference Manual, useful to anyone +wishing to write programs in the Emacs Lisp extension language. -/usr/local/share/emacs/$VERSION/lisp - Lisp source files and compiled files -that define most editing commands. Some are preloaded; -others are autoloaded from this directory when used. +/usr/local/share/emacs/$VERSION/lisp \(em Lisp source files and +compiled files that define most editing commands. +Some are preloaded; others are autoloaded from this directory when +used. -/usr/local/libexec/emacs/$VERSION/$ARCH - various programs that are +/usr/local/libexec/emacs/$VERSION/$ARCH \(em various programs that are used with GNU Emacs. -/usr/local/share/emacs/$VERSION/etc - various files of information. +/usr/local/share/emacs/$VERSION/etc \(em various files of information. -/usr/local/share/emacs/$VERSION/etc/DOC.* - contains the documentation +/usr/local/share/emacs/$VERSION/etc/DOC.* \(em contains the documentation strings for the Lisp primitives and preloaded Lisp functions -of GNU Emacs. They are stored here to reduce the size of -Emacs proper. +of GNU Emacs. +They are stored here to reduce the size of Emacs proper. -.br /usr/local/share/emacs/$VERSION/etc/SERVICE lists people offering various services to assist users of GNU Emacs, including education, troubleshooting, porting and customization. - -.PP +. +. .SH BUGS There is a mailing list, bug-gnu-emacs@gnu.org, for reporting Emacs -bugs and fixes. But before reporting something as a bug, please try -to be sure that it really is a bug, not a misunderstanding or a -deliberate feature. We ask you to read the section ``Reporting Emacs -Bugs'' near the end of the reference manual (or Info system) for hints -on how and when to report bugs. Also, include the version number of -the Emacs you are running in \fIevery\fR bug report that you send in. +bugs and fixes. +But before reporting something as a bug, please try to be sure that +it really is a bug, not a misunderstanding or a deliberate feature. +We ask you to read the section ``Reporting Emacs Bugs'' near the +end of the reference manual (or Info system) for hints on how and +when to report bugs. +Also, include the version number of the Emacs you are running in +\fIevery\fR bug report that you send in. -Do not expect a personal answer to a bug report. The purpose of reporting -bugs is to get them fixed for everyone in the next release, if possible. +Do not expect a personal answer to a bug report. +The purpose of reporting bugs is to get them fixed for everyone +in the next release, if possible. For personal assistance, look in the SERVICE file (see above) for a list of people who offer it. Please do not send anything but bug reports to this mailing list. For more information about Emacs mailing lists, see the -file /usr/local/emacs/etc/MAILINGLISTS. Bugs tend actually to be -fixed if they can be isolated, so it is in your interest to report -them in such a way that they can be easily reproduced. +file /usr/local/emacs/etc/MAILINGLISTS. +Bugs tend actually to be fixed if they can be isolated, so it is +in your interest to report them in such a way that they can be +easily reproduced. +. +. .SH UNRESTRICTIONS -.PP .I Emacs is free; anyone may redistribute copies of .I Emacs @@ -487,31 +698,43 @@ Copies of .I Emacs may sometimes be received packaged with distributions of Unix systems, but it is never included in the scope of any license covering those -systems. Such inclusion violates the terms on which distribution -is permitted. In fact, the primary purpose of the General Public -License is to prohibit anyone from attaching any other restrictions -to redistribution of -.I Emacs. +systems. +Such inclusion violates the terms on which distribution is permitted. +In fact, the primary purpose of the General Public License is to +prohibit anyone from attaching any other restrictions to +redistribution of +.IR Emacs . .PP Richard Stallman encourages you to improve and extend -.I Emacs, +.IR Emacs , and urges that -you contribute your extensions to the GNU library. Eventually GNU -(Gnu's Not Unix) will be a complete replacement for Unix. +you contribute your extensions to the GNU library. +Eventually GNU (Gnu's Not Unix) will be a complete replacement +for Unix. Everyone will be free to use, copy, study and change the GNU system. +. +. .SH SEE ALSO -emacsclient(1), etags(1), X(1), xlsfonts(1), xterm(1), xrdb(1) +.BR emacsclient (1), +.BR etags (1), +.BR X (7), +.BR xlsfonts (1), +.BR xterm (1), +.BR xrdb (1) +. +. .SH AUTHORS -.PP .I Emacs was written by Richard Stallman and the Free Software Foundation. Joachim Martillo and Robert Krawitz added the X features. +. +. .SH COPYING Copyright .if t \(co .if n (C) 1995, 1999, 2000, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. + 2006, 2007, 2008 Free Software Foundation, Inc. .PP Permission is granted to make and distribute verbatim copies of this document provided the copyright notice and this permission notice are @@ -526,5 +749,5 @@ Permission is granted to copy and distribute translations of this document into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Free Software Foundation. - +. .\" arch-tag: 04dfd376-b46e-4924-919a-cecc3b257eaa diff --git a/etc/emacs.bash b/etc/emacs.bash index 2589c784a87..4ed2d48cd5d 100644 --- a/etc/emacs.bash +++ b/etc/emacs.bash @@ -1,6 +1,6 @@ ### emacs.bash --- contact/resume an existing Emacs, or start a new one -## Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +## Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ## Free Software Foundation, Inc. ## Author: Noah Friedman @@ -9,7 +9,7 @@ ## GNU Emacs is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by -## the Free Software Foundation; either version 2, or (at your option) +## the Free Software Foundation; either version 3, or (at your option) ## any later version. ## GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/emacs.py b/etc/emacs.py index 0d0f2e75ed3..d40745002c6 100644 --- a/etc/emacs.py +++ b/etc/emacs.py @@ -1,13 +1,13 @@ """Definitions used by commands sent to inferior Python in python.el.""" -# Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +# Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # Author: Dave Love # This file is part of GNU Emacs. # GNU Emacs is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) +# the Free Software Foundation; either version 3, or (at your option) # any later version. # GNU Emacs is distributed in the hope that it will be useful, @@ -176,7 +176,9 @@ def complete (name, imports): names.add('__class__') names.union_update (class_members (object)) except: names = all_names (dict) - except: return [] + except: + print '_emacs_out ()' + return [] l = len(name) print '_emacs_out (', for n in names: diff --git a/etc/emacstool.1 b/etc/emacstool.1 index ef1941111fd..fbc7dcd841a 100644 --- a/etc/emacstool.1 +++ b/etc/emacstool.1 @@ -136,7 +136,7 @@ emacs(1) Copyright .if t \(co .if n (c) -2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. .PP Permission is granted to make and distribute verbatim copies of this document provided the copyright notice and this permission notice are diff --git a/etc/enriched.doc b/etc/enriched.doc index 25b034434ad..be8f8989a2f 100644 --- a/etc/enriched.doc +++ b/etc/enriched.doc @@ -256,15 +256,15 @@ bug reports are welcome. -Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. COPYING PERMISSIONS: This document is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. + the Free Software Foundation; either version 3, or (at your option) + any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -272,6 +272,6 @@ COPYING PERMISSIONS: GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - + along with this program; see the file COPYING. If not, write to + the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + Boston, MA 02110-1301 USA. diff --git a/etc/etags.1 b/etc/etags.1 index 04b67f389f4..bcd35d44919 100644 --- a/etc/etags.1 +++ b/etc/etags.1 @@ -1,5 +1,5 @@ .\" Copyright (C) 1992, 2001, 2002, 2003, 2004, -.\" 2005, 2006, 2007 Free Software Foundation, Inc. +.\" 2005, 2006, 2007, 2008 Free Software Foundation, Inc. .\" See section COPYING for conditions for redistribution .TH etags 1 "23nov2001" "GNU Tools" "GNU Tools" .de BP @@ -21,7 +21,7 @@ etags, ctags \- generate tag file for Emacs, vi [\|\-\-append\|] [\|\-\-no\-defines\|] [\|\-\-no\-globals\|] [\|\-\-include=\fIfile\fP\|] [\|\-\-ignore\-indentation\|] [\|\-\-language=\fIlanguage\fP\|] -[\|\-\-no\-members\|] [\|\-\-output=\fItagfile\fP\|] +[\|\-\-members\|] [\|\-\-output=\fItagfile\fP\|] [\|\-\-regex=\fIregexp\fP\|] [\|\-\-no\-regex\|] [\|\-\-help\|] [\|\-\-version\|] \fIfile\fP .\|.\|. @@ -59,9 +59,9 @@ table (defaults: \fBTAGS\fP for \fBetags\fP, \fBtags\fP for \fBctags\fP) in the current working directory. Files specified with relative file names will be recorded in the tag table with file names relative to the directory where the tag table -resides. If the tag table is in /dev, however, the file names are made -relative to the working directory. Files specified with absolute file -names will be recorded +resides. If the tag table is in /dev or is the standard output, +however, the file names are made relative to the working directory. +Files specified with absolute file names will be recorded with absolute file names. Files generated from a source file\-\-like a C file generated from a source Cweb file\-\-will be recorded with the name of the source file. @@ -135,10 +135,10 @@ regexp matching is done in this case (see the \fB\-\-regex\fP option). .TP .B \-\-members Create tag entries for variables that are members of structure-like -constructs in C++, Objective C, Java. This is the default for etags. +constructs in C++, Objective C, Java. .TP .B \-\-no\-members -Do not tag member variables. This is the default for ctags. +Do not tag member variables. This is the default behavior. .TP .B \-\-packages\-only Only tag packages in Ada files. @@ -149,8 +149,9 @@ May be used (only once) in place of a file name on the command line. as belonging to the file \fBFILE\fP. .TP \fB\-o\fP \fItagfile\fP, \fB\-\-output=\fItagfile\fP -Explicit name of file for tag table; overrides default \fBTAGS\fP or -\fBtags\fP. (But ignored with \fB\-v\fP or \fB\-x\fP.) +Explicit name of file for tag table; for \fBetags\fP only, a file name +of \- means standard output; overrides default \fBTAGS\fP or \fBtags\fP. +(But ignored with \fB\-v\fP or \fB\-x\fP.) .TP \fB\-r\fP \fIregexp\fP, \fB\-\-regex=\fIregexp\fP @@ -287,7 +288,7 @@ Stallman. Copyright .if t \(co .if n (c) -1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. .PP Permission is granted to make and distribute verbatim copies of this document provided the copyright notice and this permission notice are diff --git a/etc/fr-drdref.tex b/etc/fr-drdref.tex index 9ae872b99d2..78a5d2839c4 100644 --- a/etc/fr-drdref.tex +++ b/etc/fr-drdref.tex @@ -1,12 +1,12 @@ % Reference Card for Dired % Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, -% 2006, 2007 Free Software Foundation, Inc. +% 2006, 2007, 2008 Free Software Foundation, Inc. % This file is part of GNU Emacs. % GNU Emacs is free software; you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by -% the Free Software Foundation; either version 2, or (at your option) +% the Free Software Foundation; either version 3, or (at your option) % any later version. % GNU Emacs is distributed in the hope that it will be useful, @@ -41,7 +41,7 @@ \def\versionnumber{0.1} -\def\year{2007} % latest copyright year +\def\year{2008} % latest copyright year \def\version{Mai 2006\ v\versionnumber} \def\shortcopyrightnotice{\vskip 1ex plus 2 fill diff --git a/etc/fr-refcard.tex b/etc/fr-refcard.tex index 1e399334b90..c8bdf6b65dc 100644 --- a/etc/fr-refcard.tex +++ b/etc/fr-refcard.tex @@ -15,13 +15,13 @@ % Nothing else needs to be changed below this line. % Copyright (C) 1987, 1993, 1996, 1997, 2001, 2002, 2003, 2004, -% 2005, 2006, 2007 Free Software Foundation, Inc. +% 2005, 2006, 2007, 2008 Free Software Foundation, Inc. % This file is part of GNU Emacs. % GNU Emacs is free software; you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by -% the Free Software Foundation; either version 2, or (at your option) +% the Free Software Foundation; either version 3, or (at your option) % any later version. % GNU Emacs is distributed in the hope that it will be useful, @@ -67,7 +67,7 @@ \def\versionnumber{2.3} \def\versionemacs{22} \def\versionyear{2007} % latest update -\def\year{2007} % latest copyright year +\def\year{2008} % latest copyright year \def\shortcopyrightnotice{\vskip 1ex plus 2 fill \centerline{\small \copyright\ \year\ Free Software Foundation, Inc. diff --git a/etc/fr-survival.tex b/etc/fr-survival.tex index ce338219128..e9c2b2dc034 100644 --- a/etc/fr-survival.tex +++ b/etc/fr-survival.tex @@ -23,13 +23,13 @@ \fi % Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, -% 2006, 2007 Free Software Foundation, Inc. +% 2006, 2007, 2008 Free Software Foundation, Inc. % This file is part of GNU Emacs. % GNU Emacs is free software; you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by -% the Free Software Foundation; either version 2, or (at your option) +% the Free Software Foundation; either version 3, or (at your option) % any later version. % GNU Emacs is distributed in the hope that it will be useful, @@ -47,7 +47,7 @@ \def\versionnumber{1.0} \def\versionemacs{21} \def\versiondate{Avril 2000} % latest update -\def\year{2007} % latest copyright year +\def\year{2008} % latest copyright year \def\copyrightnotice{\penalty-1\vfill \vbox{\smallfont\baselineskip=0.8\baselineskip\raggedcenter diff --git a/etc/gnus-logo.eps b/etc/gnus-logo.eps index 95408ba9af6..b12ff3def7a 100644 --- a/etc/gnus-logo.eps +++ b/etc/gnus-logo.eps @@ -1,4 +1,26 @@ %!PS-Adobe-2.0 EPSF-2.0 +% Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +% Free Software Foundation, Inc. +% +% Author: Luis Fernandes +% +% This file is part of GNU Emacs. +% +% GNU Emacs is free software; you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation; either version 3, or (at your option) +% any later version. +% +% GNU Emacs is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with GNU Emacs; see the file COPYING. If not, write to the +% Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +% Boston, MA 02110-1301, USA. +% %%Title: gnuslogo1.ps %%Creator: XV Version 3.00 Rev: 3/30/93 - by John Bradley %%BoundingBox: 0 0 493 505 diff --git a/etc/gnus-refcard.tex b/etc/gnus-refcard.tex index 4bd03ad4f77..4a2c0fb41ad 100644 --- a/etc/gnus-refcard.tex +++ b/etc/gnus-refcard.tex @@ -121,7 +121,7 @@ \newcommand{\Copyright}{% \begin{center} Copyright \copyright\ 1995, 2000, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. \end{center} Permission is granted to make and distribute copies of this reference diff --git a/etc/gnus-tut.txt b/etc/gnus-tut.txt index 0505b49f10b..9a8dbfcc961 100644 --- a/etc/gnus-tut.txt +++ b/etc/gnus-tut.txt @@ -25,7 +25,7 @@ Ingebrigtsen. If you have a WWW browser, you can investigate to your heart's delight at . ;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -34,7 +34,7 @@ heart's delight at . ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/grep.txt b/etc/grep.txt index ed28c773904..c6765850c16 100644 --- a/etc/grep.txt +++ b/etc/grep.txt @@ -84,15 +84,15 @@ grep -nH -e "xyzxyz" ../info/* -Copyright (C) 2005, 2006, 2007 +Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc. COPYING PERMISSIONS: This document is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. + the Free Software Foundation; either version 3, or (at your option) + any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -100,8 +100,9 @@ COPYING PERMISSIONS: GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + along with this program; see the file COPYING. If not, write to + the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + Boston, MA 02110-1301 USA. ;;; Local Variables: diff --git a/etc/images/README b/etc/images/README index 4d2056b27ac..1cdfb5b05b7 100644 --- a/etc/images/README +++ b/etc/images/README @@ -20,67 +20,65 @@ COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES File: mh-logo.xpm Author: Satyaki Das -Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. -License: GNU General Public License version 2 or later (see COPYING) - - -The following icons are from GTK+ 2.x and GNOME 2.x. They are not -part of Emacs, but distributed and used by Emacs. - - Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 - Tuomas Kuosmanen, Rodney Dawes, Jakub Steiner, Alexander Larsson, - Tor Lillqvist, Garrett LeSage, Dennis Cranston, Jody Goldberg, Luca - Ferretti, Mark Finlay, Lapo Calamandrei, Andreas Nilsson and Marco - Pesenti Gritti - License: GNU General Public License version 2 (see COPYING) - -* From GTK+ 2.x: - - close.xpm copy.xpm cut.xpm help.xpm home.xpm index.xpm info.pbm - info.xpm jump-to.xpm left-arrow.xpm new.xpm open.xpm paste.xpm - preferences.xpm print.xpm refresh.xpm right-arrow.xpm save.xpm - saveas.xpm search.xpm sort-ascending.xpm sort-descending.xpm - spell.xpm undo.xpm up-arrow.xpm - - back-arrow.xpm and fwd-arrow.xpm are slightly modified undo and redo. - diropen.xpm is file-manager.png from Gnome hicolor theme. - -* From GNOME 2.x: - - Emacs images and their source in the GNOME icons stock/ directory: - - attach.xpm document/stock_attach - cancel.xpm slightly modified generic/stock_stop - connect.xpm net/stock_connect - contact.xpm net/stock_contact - data-save.xpm data/stock_data-save - delete.xpm generic/stock_delete - describe.xpm generic/stock_properties - disconnect.xpm net/stock_disconnect - exit.xpm generic/stock_exit - lock-broken.xpm data/stock_lock-broken - lock-ok.xpm data/stock_lock-ok - lock.xpm data/stock_lock - redo.xpm generic/stock_redo - search-replace.xpm slightly modified generic/stock_search-and-replace - next-page.xpm navigation/stock_next-page - refresh.xpm generic/stock_refresh - separator.xpm ? - show.xpm slightly modified document/stock_new - sort-ascending.xpm slightly modified data/stock_sort-ascending - sort-column-ascending.xpm data/stock_sort-column-ascending - sort-criteria.xpm data/stock_sort-criteria - sort-descending.xpm slightly modified data/stock_sort-descending - sort-row-ascending.xpm data/stock_sort-row-ascending - zoom-in.xpm navigation/stock_zoom-in - zoom-out.xpm navigation/stock_zoom-out - - next-node.xpm and prev-node.xpm are from gthumb version 2.0 (part of - GNOME 2.x) where they are called next-image-24.png and prev-image-24.png. - up-node.xpm is just next-node.xpm rotated 90 degrees. - - Some icons in the mail/ and gnus/ subdirectories are also taken - from this source (see their separate README files). +Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 + Free Software Foundation, Inc. +License: GNU General Public License version 3 or later (see COPYING) + + +The following icons are from GTK+ 2.x. They are not part of Emacs, but +are distributed and used by Emacs. They are licensed under the +GNU Library General Public License version 2 or later. See the source +of the gtk+ package for more information. + + close.xpm copy.xpm cut.xpm help.xpm home.xpm index.xpm info.pbm + info.xpm jump-to.xpm left-arrow.xpm new.xpm open.xpm paste.xpm + preferences.xpm print.xpm refresh.xpm right-arrow.xpm save.xpm + saveas.xpm search.xpm sort-ascending.xpm sort-descending.xpm + spell.xpm undo.xpm up-arrow.xpm + + back-arrow.xpm and fwd-arrow.xpm are slightly modified undo and redo. + diropen.xpm is file-manager.png from Gnome hicolor theme. + + +The following icons are from GNOME 2.x. They are not part of Emacs, +but are distributed and used by Emacs. They are licensed under the +GNU General Public License version 2 or later. See the source of +the gnome-icons-theme package for more information. + +Emacs images and their source in the GNOME icons stock/ directory: + + attach.xpm document/stock_attach + cancel.xpm slightly modified generic/stock_stop + connect.xpm net/stock_connect + contact.xpm net/stock_contact + data-save.xpm data/stock_data-save + delete.xpm generic/stock_delete + describe.xpm generic/stock_properties + disconnect.xpm net/stock_disconnect + exit.xpm generic/stock_exit + lock-broken.xpm data/stock_lock-broken + lock-ok.xpm data/stock_lock-ok + lock.xpm data/stock_lock + redo.xpm generic/stock_redo + search-replace.xpm slightly modified generic/stock_search-and-replace + next-page.xpm navigation/stock_next-page + refresh.xpm generic/stock_refresh + separator.xpm ? + show.xpm slightly modified document/stock_new + sort-ascending.xpm slightly modified data/stock_sort-ascending + sort-column-ascending.xpm data/stock_sort-column-ascending + sort-criteria.xpm data/stock_sort-criteria + sort-descending.xpm slightly modified data/stock_sort-descending + sort-row-ascending.xpm data/stock_sort-row-ascending + zoom-in.xpm navigation/stock_zoom-in + zoom-out.xpm navigation/stock_zoom-out + + next-node.xpm and prev-node.xpm are from gthumb version 2.0 (part of + GNOME 2.x) where they are called next-image-24.png and prev-image-24.png. + up-node.xpm is just next-node.xpm rotated 90 degrees. + + Some icons in the mail/ and gnus/ subdirectories are also taken + from this source (see their separate README files). The images in the low-color/ subdirectory are low-color versions of the files of the same name in this directory, and are subject to the diff --git a/etc/images/cancel.pbm b/etc/images/cancel.pbm index bd85b764c271563b5847cd562ecabd1d93b37ad8..89a21add3404cddeff5f3746c41fe2c840068e36 100644 GIT binary patch literal 81 zcmWGA;W9E&Ff!p{KnDL9m>C;b7#x6z`ljEUXSJs}3-S MH!%D|)&^n&05!u7P5=M^ literal 634 zcmWGAkeGvG2Z zQ7|&$GBP#g`cEgo00C&WF)%;{;0!PyCJN#Z!3HS-8vr4|M!>WJtp&<~RiKE21i`{c z7C@|m3Zsid)dNjKF$bg?tOH^gSPt1eFw@`?AO^?~gfU=0LWDqOfmK2Ykl`SRVhUIe MBm@M=iU))Z07JX+TmS$7 diff --git a/etc/images/copy.pbm b/etc/images/copy.pbm index 7a95aa885a11dc5822d6ae150c990af0039de3f9..8feab126dc73ffb8657ac9f6237afb0c6fbea5fa 100644 GIT binary patch delta 89 zcmeyxThA0=GLcEopUcQZ!N`P*0S5m6U}#`Lpe^-38X8z2Xcv&N1 -Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -License: GNU General Public License version 2 or later (see COPYING) +License: GNU General Public License version 3 or later (see COPYING) Files: catchup.pbm catchup.xpm cu-exit.pbm cu-exit.xpm describe-group.pbm describe-group.xpm exit-gnus.pbm exit-gnus.xpm @@ -18,20 +18,16 @@ Files: catchup.pbm catchup.xpm cu-exit.pbm cu-exit.xpm unsubscribe.pbm unsubscribe.xpm uu-decode.pbm uu-decode.xpm uu-post.pbm uu-post.xpm Author: Luis Fernandes -Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -License: GNU General Public License version 2 or later (see COPYING) +License: GNU General Public License version 3 or later (see COPYING) The following icons are from GNOME 2.x. They are not part of Emacs, -but distributed and used by Emacs. +but are distributed and used by Emacs. They are licensed under the +GNU General Public License version 2 or later. See the source of the +gnome-icons-theme package for more information. - Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 - Tuomas Kuosmanen, Rodney Dawes, Jakub Steiner, Alexander Larsson, - Tor Lillqvist, Garrett LeSage, Dennis Cranston, Jody Goldberg, Luca - Ferretti, Mark Finlay, Lapo Calamandrei, Andreas Nilsson and Marco - Pesenti Gritti - License: GNU General Public License version 2 (see COPYING) - -toggle-subscription.xpm (GNOME stock/document/stock_task-recurring) -kill-group.pbm and kill-group.xpm are converted from close.xpm -rot13.pbm and rot13.xpm are converted from lock.xpm + toggle-subscription.xpm (GNOME stock/document/stock_task-recurring) + kill-group.pbm and kill-group.xpm are converted from close.xpm + rot13.pbm and rot13.xpm are converted from lock.xpm + mail-send.xpm ? diff --git a/etc/images/gnus/mail-send.xpm b/etc/images/gnus/mail-send.xpm new file mode 100644 index 00000000000..f1d2282ec8a --- /dev/null +++ b/etc/images/gnus/mail-send.xpm @@ -0,0 +1,39 @@ +/* XPM */ +static char *magick[] = { +/* columns rows colors chars-per-pixel */ +"24 24 9 1", +" c Gray0", +". c #675e6580613e", +"X c #8c8c7c7c6969", +"o c #9b458d377822", +"O c #a941a6459f3e", +"+ c #c8c8b2b29898", +"@ c #dadac2c2a5a5", +"# c #eb4dea2fe4ad", +"$ c None", +/* pixels */ +"$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$ $$$$$$$", +"$$$$$$$$ .@#+ $$$$$$", +"$$$ .+#####@O $$$$$$", +"$$ .+##########.+O $$$$$", +"$$ @..########O.+# $$$$$", +"$$ O@O..@#####.+## $$$$$", +"$$$ ###+O.O##...##O $$$$", +"$$$ @####@+..O#O.+# $$$$", +"$$$ O####.#######.O $$$$", +"$$$$ ###+O########.O $$$", +"$$$$ ###.########@O $$$", +"$$$$ +#+O#####@O $$$$$", +"$$$$$ #.###@O $$$$$$", +"$$$$$ .O@O $$ .. $$$$$", +"$$$$$ .. $$$$ .oo. $$$$", +"$$$$$$ $$$$$ oo $$$", +"$$$$$$$$$$$$$$$ Oo $$$$$", +"$$$$$$$$$$$$$$ oOOX $$$$", +"$$$$$$$$$$$$$$ ++++ $$$$", +"$$$$$$$$$$$$$ O@@@@O $$$", +"$$$$$$$$$$$$$ $$$", +"$$$$$$$$$$$$$$$$$$$$$$$$" +}; diff --git a/etc/images/gud/README b/etc/images/gud/README index a05351e7b82..8c85cc56354 100644 --- a/etc/images/gud/README +++ b/etc/images/gud/README @@ -1,9 +1,9 @@ COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES The following icons were created by Nick Roberts . -Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 +Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -License: GNU General Public License version 2 or later (see COPYING) +License: GNU General Public License version 3 or later (see COPYING) break.pbm, nexti.pbm, go.pbm, pp.pbm, print.pbm, pstar.pbm, remove.pbm break.xpm, nexti.xpm, go.xpm, pp.xpm, print.xpm, pstar.xpm, remove.xpm @@ -31,9 +31,9 @@ their copyright assignment included the icons. The following icons are converted from the Insight Windows style icon set in src/gdb/gdbtk/library/images2. -Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 +Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -License: GNU General Public License version 2 or later (see COPYING) +License: GNU General Public License version 3 or later (see COPYING) cont.pbm and cont.xpm were converted from continue.gif down.pbm and down.xpm were converted from down.gif diff --git a/etc/images/icons/README b/etc/images/icons/README index ec20a6d510f..c9ef3396a17 100644 --- a/etc/images/icons/README +++ b/etc/images/icons/README @@ -2,5 +2,5 @@ COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES Files: emacs_16.png emacs_24.png emacs_32.png emacs_48.png Author: Andrew Zhilin -Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. -License: GNU General Public License version 2 or later (see COPYING) +Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +License: GNU General Public License version 3 or later (see COPYING) diff --git a/etc/images/mail/README b/etc/images/mail/README index 32612058042..962206e6ae8 100644 --- a/etc/images/mail/README +++ b/etc/images/mail/README @@ -1,14 +1,9 @@ COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES The following icons are from GNOME 2.x. They are not part of Emacs, -but distributed and used by Emacs. - - Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 - Tuomas Kuosmanen, Rodney Dawes, Jakub Steiner, Alexander Larsson, - Tor Lillqvist, Garrett LeSage, Dennis Cranston, Jody Goldberg, Luca - Ferretti, Mark Finlay, Lapo Calamandrei, Andreas Nilsson and Marco - Pesenti Gritti - License: GNU General Public License version 2 (see COPYING) +but are distributed and used by Emacs. They are licensed under the +GNU General Public License version 2 or later. See the source of the +gnome-icons-theme package for more information. Emacs images and their GNOME source (GNOME icons are from stock/net/ directory unless otherwise stated): diff --git a/etc/images/next-node.pbm b/etc/images/next-node.pbm index 8a33da5bda4a6d3a46cd22d8db5f672fcb65994c..f5a9a849da1d36981c27ccec1bd5e8bf9e4ccffa 100644 GIT binary patch delta 89 zcmW;4u?c`M5CzcVV-bP|OUvWZTSyAKxPgw~CjJ%N&=IUH5+RTG4Hu4dW8VFebV)wf lSH-DxCLu~N!Zs8IN6>*C*n<C8njM6rvK#64bXG-%PR+)*Qs zfmu)K$}pAm$ZXq?q{SE>WtK;->+rUG&N4=lKow3&@@tkwzC{PZaMz1rY;pDlVtUCy zpclhu*bH@ThQGzY!aYb5%vu?!WdH=X3iEGMx0h)xVICso9{3W*_%r2=lv&G+FX&nJ ilf*aJsoS0oY#a@bF{N8Rk0$NPk36UyyzB@6rTYYJvr{wx diff --git a/etc/images/prev-node.pbm b/etc/images/prev-node.pbm index bf7aa14515c767c9c42e4eb7fa5eedef117eccac..7899e62bb23179949cca68ee55ff680a1dd4ce88 100644 GIT binary patch delta 89 zcmeyxThA0=GLcEopUcQZ!N`P*|NkEW1{MVd76%3w2ZkdKj4lpLE)Fd94jhaQ0*np{ jj1C6O4id}`JoOH2{~eft3XXu3ffTap}sb7I2Prshw@awzP&x04lYgCw~sq4=L_dE@R{>@?q1?dMjZk8NMxu^ zN~uz+Od*g*2Bl6RNPkQZaxfUn%D&AZr}W3P!QluCG{cq+3}v%wJ3AJaxWIQkI>v7=9L&%Za{aV|$d diff --git a/etc/images/save.pbm b/etc/images/save.pbm index 49d8346d3fa28803680757418ff0789244149399..1347207d260b891d11931a02c0050c35e0246c05 100644 GIT binary patch delta 89 zcmeyxThA0=GLcEopUcQZ!N`P*0SxT_|L|Z?@nF!wg`EGtabVza{(r`W;f>1!1hQdx KBme&g&C!%5z4I%gj0Rv(n@%{C1WLP#K{xynTv3z$oJDZy% z6W5n{x|n6#bSl|Cm(@B>2DK!cSeC`%lvlFLtGXzUG9Hdx5K0ibAd1}iBUkU$rC;Mc zuqEi*R;H5RWn@BYuRes*R{*Za1l`igQ2Gk^`?RWX$`|;|# z6@lm|G&iH@IKeCmj1O+RD|$P8j3;Li=x}awO54Md0nz8CZQ|y z-D0-i?xwOoma8LN=0Y6teL++?&&Bbu7zIt>G~d z`;=$eRkiEUlpS2EBXBx+*1WRqdhABdGERS=e~)g!e#)1n@opJ&#CWUv?(sWE4+pIZ z5`)Obl44d(vZ}W{vXL5%Z1WN`pD-E#)X8S$c?1SP&;#|b&ErOYJw7$SVFusBK~};4 nB)!2i+V+$52G1n+XfQhX9DvAx5e5&`lSq0SGq@`P>|y)>`4>|( diff --git a/etc/orgcard.tex b/etc/orgcard.tex index 55a797000c6..6ccd6b92d0e 100644 --- a/etc/orgcard.tex +++ b/etc/orgcard.tex @@ -1,7 +1,7 @@ % Reference Card for Org Mode \def\orgversionnumber{4.67} \def\versionyear{2007} % latest update -\def\year{2007} % latest copyright year +\def\year{2008} % latest copyright year % %**start of header \newcount\columnsperpage @@ -21,11 +21,11 @@ \columnsperpage=3 -% Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc +% Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc % GNU Emacs is free software; you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by -% the Free Software Foundation; either version 2, or (at your option) +% the Free Software Foundation; either version 3, or (at your option) % any later version. % GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/pl-refcard.tex b/etc/pl-refcard.tex index 2f55402aa3d..7a58acfaaf6 100644 --- a/etc/pl-refcard.tex +++ b/etc/pl-refcard.tex @@ -33,13 +33,13 @@ \columnsperpage=2 % Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, -% 2006, 2007 Free Software Foundation, Inc. +% 2006, 2007, 2008 Free Software Foundation, Inc. % This file is part of GNU Emacs. % GNU Emacs is free software; you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by -% the Free Software Foundation; either version 2, or (at your option) +% the Free Software Foundation; either version 3, or (at your option) % any later version. % GNU Emacs is distributed in the hope that it will be useful, @@ -76,7 +76,7 @@ \def\versionnumber{1.2} \def\versionemacs{22} \def\versiondate{czerwiec 2006} % latest update -\def\year{2007} % latest copyright year +\def\year{2008} % latest copyright year \def\shortcopyrightnotice{\vskip 1ex plus 2 fill \centerline{\small \copyright\ \year\ Free Software Foundation, Inc. diff --git a/etc/ps-prin0.ps b/etc/ps-prin0.ps index ffa7d39dfe7..b537be33eb0 100644 --- a/etc/ps-prin0.ps +++ b/etc/ps-prin0.ps @@ -1,14 +1,14 @@ % === BEGIN ps-print prologue 0 % version: 6.0 -% Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +% Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 % Free Software Foundation, Inc. % % This file is part of GNU Emacs. % % GNU Emacs is free software; you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by -% the Free Software Foundation; either version 2, or (at your option) +% the Free Software Foundation; either version 3, or (at your option) % any later version. % % GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/ps-prin1.ps b/etc/ps-prin1.ps index 977b2e91f15..36e0efeb0c8 100644 --- a/etc/ps-prin1.ps +++ b/etc/ps-prin1.ps @@ -1,14 +1,14 @@ % === BEGIN ps-print prologue 1 % version: 6.1 -% Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +% Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 % Free Software Foundation, Inc. % % This file is part of GNU Emacs. % % GNU Emacs is free software; you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by -% the Free Software Foundation; either version 2, or (at your option) +% the Free Software Foundation; either version 3, or (at your option) % any later version. % % GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/pt-br-refcard.tex b/etc/pt-br-refcard.tex index 945fce4e47a..56956b862b0 100644 --- a/etc/pt-br-refcard.tex +++ b/etc/pt-br-refcard.tex @@ -15,13 +15,13 @@ % Nothing else needs to be changed below this line. % Copyright (C) 1987, 1993, 1996, 1997, 2002, 2003, 2004, -% 2006, 2007 Free Software Foundation, Inc. +% 2006, 2007, 2008 Free Software Foundation, Inc. % This file is part of GNU Emacs. % GNU Emacs is free software; you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by -% the Free Software Foundation; either version 2, or (at your option) +% the Free Software Foundation; either version 3, or (at your option) % any later version. % GNU Emacs is distributed in the hope that it will be useful, @@ -71,7 +71,7 @@ \def\versionnumber{2.3} \def\versionyear{2006} % latest update \def\versionemacs{22} -\def\year{2007} % latest copyright year +\def\year{2008} % latest copyright year \def\shortcopyrightnotice{\vskip 1ex plus 2 fill \centerline{\small \copyright\ \year\ Free Software Foundation, Inc. diff --git a/etc/refcard.ps b/etc/refcard.ps index 3c124072686..7967ea4d946 100644 --- a/etc/refcard.ps +++ b/etc/refcard.ps @@ -1,6 +1,7 @@ %!PS-Adobe-2.0 -%%Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software +%%Creator: dvips(k) 5.96 Copyright 2005 Radical Eye Software %%Title: refcard.dvi +%%CreationDate: Wed Aug 22 13:09:55 2007 %%Pages: 2 %%PageOrder: Ascend %%Orientation: Landscape @@ -9,9 +10,9 @@ %%DocumentPaperSizes: Letter %%EndComments %DVIPSWebPage: (www.radicaleye.com) -%DVIPSCommandLine: dvips -t letter -t landscape refcard.dvi +%DVIPSCommandLine: dvips -t landscape refcard.dvi %DVIPSParameters: dpi=600 -%DVIPSSource: TeX output 2007.03.22:0022 +%DVIPSSource: TeX output 2007.08.22:1309 %%BeginProcSet: tex.pro 0 0 %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S @@ -409,6 +410,7 @@ end readonly def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for +dup 12 /fi put dup 44 /comma put dup 45 /hyphen put dup 46 /period put @@ -417,7 +419,6 @@ dup 49 /one put dup 50 /two put dup 51 /three put dup 53 /five put -dup 54 /six put dup 55 /seven put dup 65 /A put dup 66 /B put @@ -482,224 +483,225 @@ B0DAA1BA19D638676E9CF159AC7325EF17B9F74E082BEF75E10A31C7011C0FFA A6D968D5AE3BD159D01BDFF42D16111BC0A517C66B43972080D9DD4F3B9AE7FB 11B035CE715C1218B2D779761D8D7E9DEBE277531BD58F313EBD27E33BEF9DC5 50C7821A8BBC3B9FDF899D7EAA0B94493B97AFEAC503EB5ED7A7AB600BF00E09 -8A98D1D031C430FAFDED5CFE3944C4818C6A0C98FF909FC1FA6F3E7E282BFA41 -4681DB8E2D5D12A2B653E32B01A8A9C9955AE525F963EAF4B07A6D1D08E880AC -3D77B15077B8882DAB21B262E2EC978310BC07DB953F8C65C9D5D01F35FB5A9C -B8C57B07209A07E1C0C1B5F1324B128B60D43C223F73DC12DE901CA5AAA63BF1 -2D47B7B0B9D35F25A459484BC917AD0D87779E379F2E5E5677F463D9D4E33B38 -99DF4ED7F1C5B33E0C23064233288FF324E07452C5DD4C46365512B412E6CF46 -DCCCB4EF51A65A8E2AC9A5BC5384F739AB8D4995143C9BD3599696884AF450A9 -0B3A707395DAD474797780AD0A87C8317DDC98871259B09B0038E5CA31E6EB6E -8FAFD3D294971700EE6CF2D4CABAA8AE2C0965FD3E864037DBE485129CA30BCA -3DEA01CCF4AC088FC977A4668029EDAC0CFBC69C930546E7B7EA31296D7F8B31 -0DB809DE11C0150DC81247B6259C110EF06F9B3ABC4641940EDF4CE46494AC13 -72C2933FD2B3288BD37E4055F58B0E83FF9BC369A112E9FEA4CDA525E3B92B3E -932E64E549388DEA2C0B1F29B356A0E216B37B8742916B0AA46AFE2147532AAC -A54DB16333B9B4B66665314F8028D1DAAA6BF0AA511DDA067041E465100A7824 -D778792F109404C1A5EFE3481C9E20007664E5664A3FFF70BE402C3BC84628F1 -2703294F2514048F2B8CA0BD9EFF679B8EBBC8E49A6909FDB6D9439E5852F7AE -296746725B1840172ECB51B72B1F2F982740F7EE67F40D96BE2B8C310F98A980 -1116EA8A4D57850E5F87DA60D054A24BBA2831838C211B008BBF8E3683B8D407 -9A3AADB4AD7D0312D560FF2DEDDA60D0A353D797BC831E4A76A234F9AAA123D8 -1BDD68A4EFDAE4338358A616D29309A416B4962EB01F6DECB59E84A5852ACDDE -BEFF98EAC8D864A4B457A6864A7C7ADD3EFD7B2EDB984A3D14BA84390B06B83C -550FDEC4A8A1F60B8F47BF810BD636BA945DDA0C1ABEB31C80CC71DEA1DF420B -D41E4D04512EA018C53422F1722EFBC78123B383C9BBACA7F62C5477BB8579B4 -471922BB21A881AB30840F1A076A3B14E7EFB5A0D04610F1D248B8D6977C7C24 -5C1307D468792CC180A2DDC3AEAAEBD1682951167D9B010A3F31F74A54114C90 -6B7E87AD0D74F6E64C225E4F6C93277084CA01C09DD7B7FA91F5D7FDF9C78C34 -9F40F5CA84E8341093AFF161914663BAD849119F4D56B5C880FBC709A99F89CC -460183DFA77E9A8817F0488874D68F1E64F690865A6ED2FA92D4B0E08C51F5E7 -95767B6B3C433DF63FC5F8E77057C2B8194BF161C3F8104FD0FA8C4033914C21 -895DAB5D43BE63E461672613B9333FA125D04205FB9EF2708D83DF0D49483E24 -143531AE2C99F7F96F95AAE8E292E1879EBCC408CC102A32CEC3FCE958691227 -5446870CEDF38ECA235F19B62F7D83116DAE464E77EA2EF5F321EEA6E9C9B685 -27845D4BC456DC77767EE49F915496C84A7BDACF424378B835FE2CECAD2E3CEF -366E0BEFDA94E1B4FD1D838CA676E002427508687E3535B681CD072B03356F5D -C804A3D54746C4C7501E61176E7FCC900DD83AF1A73BBE3C3D26B3EACA9E6B30 -52430FA70C2266B17C1302659F6FD5857422D1AE32F15FC9F746B770AD6F45E1 -CCD6A402BA290917E96AE92061E801EE9876FFFF800C957D57D75EDC1199DB8D -FAE3A98603A0964F0F05F2DECF98E798360C70AA89438452AA8CFC95C5BE6E82 -D12FF9536DB97DE9A2452013B2D95D81875820B57FB0DFDF9A4A778A914F2034 -F6A8373B81351C44D69CFDF430997BE3576D86CEE83156772E71A7A70EB0AEEE -7621DFF6E101B32F7A2ECB0B9F02ECB4F54DCB54AAFE7978C759B116F84125D5 -401851A9360D1FDF438407FEE5843EA5E4062139D474A76121006923240EAF67 -CB93828CEC646D632F9F0EA8C20DDDAB3080BF7D774F9BBD6FDCCF38B3F560E8 -84D93B442FEA4E7EB429B7B9C14B276FCB8F39B6431A141E96A24106335B966E -F3161D90EB9CA3DB6B3F7107D25590F7F4454D2B510A2C0B9764F80EFA8F060A -9B078CFF276A88013D97FA5E908DE854A00FB655585B9AB0D22E9E2E86DFF0D1 -AAD10D3C1B0A34E9ED40E7B18F3AA2CB0EBE66F14A18615A0BB818A05B1B70F6 -D0DFEA076D71F8BE0978DBBFD62EC9ACABFF8703485899B12D3A68BE64B2A40D -0D3650B42E55DCD5ED90A9CD2FE2EA64398FFE6BEC54E9BAD493D034B743A214 -5A5FD3B2AFE6FD112D73F393DD613359E7558840B0B9007483264A21F39A30E1 -239A08D90F3C11F48DEEDF8A549BAC0AB84C0CE01A39AFB47732DFBB03FB925B -B72ADA2697186843116B540DAFC381F0BDF51FB554A7905F1FEC57CFFD19D141 -EF384F0D16F6ECFE47CD2515B9402BA6CA55D473250E3EB2DAC143823EAC583A -BF749C1C1247CFFF1C0D41868B2CF0F6F0594D0DF2CD984757CFC86413A1FC6F -3DB37B2CF2A2E04EBE7D05B2278EB9FABBF671ED8D8A5B1D1228C2F698240026 -8666021F7A977F2BB41CC6B1F0D3B7A46521C717285E5E61E936EC61196F820C -C4C746560DC0F031B6797E67BAC1A518DA30EE8AB870F3A3531C781B4355DE1C -66E31FD022BC5E8100A319F218D824FE4B0472AA8822C3F7E5F1CA5BFC2CDD93 -E1BB1B0A192842C39DB1B8703B81D1B8D8EEECD9832D321F903D7C06E724090F -B7F4FA37064F1ED601E970091C9E99B5EA7BC06FE4E69E34052F065FB0331B07 -E3F6B76CEB7B7058EC5985AC310F9F502D982C43B144FB0A19A0EEB0E8D2D59C -FC88340EEA8CF2EC23822956934954194DA3850C70B135FE2626D0B75C4CCB35 -132378CC7BEC8DD4F86A9B0B1D6C3A89BCA2C750DB5FDFED7BFA2C0A447C614D -812FDD4000CC37A0CE6994E0C35871C426F872395C71B4566553D083CC436108 -7F50426FE26A03EB7877250BDCF09861DA35E0E92C34A6714244CC183FFE6F82 -C665A6408136EF31A0A50AB9C38AB284FCE23F867D12FF239654D18DB9100A85 -1FAAD02EC6F5B4AB691916A846CE953CAF5B32774D37E208DF38BC9EF3A5F680 -A62CDF924DDA39563128E7FE539FA6C2CE09F5C9F154BD523D3B1211EE7C5437 -128C316A8F171E3B75E27B204531BE59BD50374BF918DFBED45D73FB0E242B6E -EFA52C5B0DB85952E4E6C86B301A5174920BD322C49DBB29EA44646676A4C4DE -EBC9B61A279A3CEEDA2553D4B2136294074141687DB75364DD78E6815E9AE2EC -366FF3E042726B039A9C5C193B53C808CBB0A498B7C80404754B67F7CF49145A -D1B7E337076982EE64E6F76D31BF17C396A115A69E0610F25BB9E5DEAF5FECE0 -8319CFEC44B8549229993901FC72AA17351A442568754A3B5B4DF7B8061D73C6 -0B29DCEAC0DF72A6236D4BB6ECCF4EABC47713B2A609DC07D96740A769473869 -FD1AC9B5BC0137EB2A3327B51378159AFDB5BBF257F4E60F127828E8CFE74E01 -D968038F659EEBA34361CE6CE0987A80C7ADBC06D71C6E3D815989AD77551771 -66F1A1AAF42A3F7649DC718AB600BFC70E4CF0247AA2A4BFBD84771199AF150B -78100CA83704D34EF7D65F51235DAD8A5882EEA58729CEF60CAD3683B572D0A7 -89A6DAF840DCB6C7AA4A4B23222D08087B975BB64809926B588A0300F0DE79BB -320494CED7BDE6636F3D9D826D7353C2C923BFE00949B710611D9E3DE47C3876 -711F0135334980FBE4801C3BFF158F1FB5E2E5E388D8EC7689E92D8869A7C166 -1C4262C63687BC092675C23B6755BF2B107647A4EDCDBAE8E511A64ACEB9CDAD -F15ACE64F8E8E4A9B2064C0FD8E446CAF1592C8F109376B98D4A5B31B15B2892 -7C0FBA025E497B454B25DA16D9C31F8C0BD17368499D3B1D92A06E5E4C8C6A87 -06E7E68C95975157BAE3712904797B50802CE069B74208F549710D978CE4A253 -C186EC2D6415479D0FEAA1DC076885B2A509B0E6411E6B5C8E0EAD7578997B9E -C5DFA526E73CFA5D3839664B3470B1973FE1790EFE2A534A277AFE1B140E5669 -407396D0BEDEAD0A9B7B7AD54CAED5C8A70EEF86FB0045EEB34907E32204EC9B -278C809150B70F1F086F756AFFECE6F05946C36C265EC6EE79F9A8659FF0549E -33E4E750B3292799B3448560930996F9FCAF0B5083EE6F23B238A41EEB065506 -B63F6B94F6DE9EDD11947AFB257961EE4297C832AF97D38AEF181FED09CE97D7 -FDCC50CA3BA7332EE65E16B91F62CD678C28CD26B87DA984AE10BE0276366AC7 -7BE023637C1122C8ED16412B00637D59ECB9ED3DE6A6A816E54630DAD0E5E306 -1FC9A8070EA0EE84F2E59A7E4D814C8F766ECD9EA08A23E266F1BA97362D724A -CB2AF5932D160D281A03342E28D57B55042D68827C831B8BAEB3A42E3A38531E -36FC41EA30DAB3F1EC598A3E011099E5586F65C806A85629AF34351B3A24A8C2 -76E43F08449043C788C5CBA1B0EA703C100377540870DC8CB1898D6783B29D66 -23BE3D60C08251392D5060FEA9BE4A40EF55FCDF1CA4BEB397041CE284527907 -E6969695E657A1A75665CB7EA8CEAB74972919F286EF710A7D123E81F60F625B -8BE0EECE4F52E73D0186ACD058D96721819B43AD03C98123A5892B4198E3304E -1925512299560CCBA0AEF6F9FA2EEDD0ABB0D0649AEF7DA23DFF6EEFA2BF847D -99A217F8665916CCE5518D0849D611C7221BDBDDC4FC0E7381A49DA520815274 -3934A0FB9435C721CAB181701E292D3368DFFC86613F755D4801E97D7B872E0A -0F6E57A80363EF1DF156CD873C303A898A5D75D742E755D019DA3091B788A036 -0CAE670793C4CAC7A15C2DEE25E49D7697F17D2F4715C2DF7964F2F88C13D83D -C06E6ABCBF412C543BE52A4166FCC090F12E66727FF1B01C8FDC772E52DDED00 -40EE0A60818F186487150B1E5EA3B73196834A2D201E6847E3EE97BDB9CE9B6B -ECD33FB11216C18EC4E2CB7C4B8E841EDC37057FAB5AAF23A088C7DB0CA3DB9A -67799B2629CE0E70610F254A87A925D3D107450F209F26481B5F416D41E26C55 -934226FAF151ED9FD52E19841CC57B3C45A5F9F15B6FA9C0CF8827EC69D372E9 -839B245139330A92B0F8F2E759D0F5E2AEE7A08F0744DAE19CA53080B062D3A7 -E1A07511FF4803F76AB6E51A80185E8734392059F3B1B9ABEAEFCCA68FBE923E -3CFFF31A62C16BB5596DBEED2FA5F9AED96A0A42A8EC600847A1D80E24F63BCA -D6E711FF7F0A96C1F87A8D70611B311F87A04535E4822A7FF4531A9B1FAAD13C -4E80F5AF473AB4183C65CD87F6D9FF0E5FF6279E3E174314F3413EB629DFC3D4 -DA5B751031BB211DFE829F583DFCFAB20C9D972BD57B2C3B604141AAD99A922C -38CD696CD05FCEB4035334B02A1FDEBAEBCE1672ED6BB7F83B5FECE3001B9F7D -70B45AE7E282D9F9FBFA62187E7E0675969C232B581CBF4C6BBF10C5CE84C3D9 -1ADEC8110EA8566DDDCD81E0C00FC5D59BBAFFEE83C274277CB42BFF09D2AA05 -FA0D8BE8DB1EBF587D31A5A8E9C570302965B2F148833CC8C64FAED2FE6DD962 -4FDF21B46A8A9C9C54B873D6DD285C1FC20BCAA83AC67D7CEB023F29F00B1438 -3BCCF291746D6A04E176368398862D4394BDB6BAB8A24BFF5DE8848D5E250E10 -98CBEFC7D88AA7FE731F6B398BA1BCE100C3C3F602C11CC039FE279B7E46DE37 -0C8328B49107C6FBAA10E509A76C9A7D34A8B96418A36EC0B3F56348A1CB5763 -2314FBB223B0CB9C054730EB2D8F9BE48CB980024B624A3FD4794B22F18ADC84 -20DA169DFCE96CAC361942A22FCD95E260F46D1279F293F2709302539214D2DF -70D1DF28377F0A99840226330506FB5EE3A0BD9BB02A99D840A3EA58C69B93E0 -50E7B164165A7EDDFD0E7A4083891E3F5A12653FA9AB3BF1C330678358A50910 -C65FE974EF46C8AC66CF7E16D27CC6CD372FDF2E7451BF5753B029E8A456FA07 -3207EF3EB547B319EEF01DEBC64DBC8A33FF83DB4ACBA00502EAD9B3D7CB8501 -5942A7617ACAFA1594657513F71FABD0BE842A5DC60D629D0C752D7632F7F047 -0E7C87CBF771837B5947273AE5DBD500A41B884E576488836F6A8612F93E71C5 -4D64831C34B6FAF3DECE28BF4B20E7A870AD5D0F15670E7886F43360C0BDF2E8 -5A55496CD838E57BD4A0C27610AB2F5F0A7D76C1AA97641260FA03B461A3D223 -3DE435A15CFD585F5BC82BDEABF1977D7AAF973C6207C632C2DC5EA4D6617101 -43F45CA50D60132309E8795D2B0B6927A0C06324307C6599521A9FFA4CB5113D -7C23F8830BC9EBDBF923AC5B12BB34DE6E1C7C0129D2CF2EAA09B68DFF712912 -A46E032A2A575B214293E06ACB5DDCEEE77C39F3A9071D9CE655038DB4EC2A2C -480AAC659FD3D18BD497A8F6C5446E2A6496AE279803F329CBB3F6923C53F965 -7B6801DE0D3B1E00A8F5BD2FF70782D962F31AE5C6D6DD32F9307A97CF121830 -157802BA4A56043F833402A7A383B94D79C80ED4FBB6CF188BB91E421165DE85 -245E64BAAB30690EB6C3A8E51F6C074BA0509AE82F59E74C7417D06C65202030 -D602637542CA33CFA6522119EC9E2F25814BB5A196E47146ECCFBC844D17A5AC -18C1F640E28750D3B6856A38B14FBF3B3C70D4BA559B2DFFA01D112CD89F7F40 -A201D0DEADDA581EF4AC73A051C005BED84C7AE69C3AE65163E8FE89F50594C2 -67747A3724E89CC50075956D3F2BFFA490FB6C02CE988AD18F52C815F2BFC18A -D1A86E95576C1076F955183310B6271FC489052140553A08F9E322C0003964FA -5751F67640750AE533F7D90061AB9E487C4200A30AC0CB9D1D6B882631125FCB -FA1B24573E504A042B2722CBB83D5701294600EBEE5AD470D1983D44124FCEA5 -51BEA2690F79C58BB913A8F6036B7FC87C5314B6960F52F2579337DDADEE0249 -B2207B7AE69D4AAD19E5CF36BA318FFA19324978B4DE4ECA1E66366B070175C9 -60529A88B19F69587F9F479EA8279312DE2F6302FA872DE1A623654D2C46938E -4F92B56E3C1513F80425060B66928CEB8672DE30C722631FB26EDCD7883F914C -4F07167152A21B6D4F7AA789841648EC8A6859EF4696F8E2A615ABBE54161E8D -C79111FCF9F9C956C1DFA1B3462C3C4570C91D3720812182CA75C72CD4B1979F -D6376F48212F466945C83A94F148F300A4FF573334D01AF0E6E37E4D8F918A02 -9CD4246AB83D1946D230FF9BE714BA3D5BEDD2D331C7FA68CFE88FC0AF6F89B5 -E515227F55EC66293FBB3FCDD1976B0DE8ED0766F8F60E44B7831E25672BF65D -6DBD52D97FBE605A2CBC2E4B72C443D2F60658E81E2183BD70D4E66277560B0C -DC0CAC9F41726329AE7208C956D246B45CD31AA4152D23468902E5903170F10D -BB169BE014910AA9102F382BC033A26B4DE9DAC0D7ED7F848C9C9176805D4B5E -8D47176190D1F7AA6F8B1B2F77A5358C3B44C21C3A4F48359DCBDE38F636929B -F0D6140AD48F557516C88E2186B12D011573A188A71771F37E9FEFEB9781137A -1F44F2C90F4204C3B018E015CE87976E38F65505E54DE894A2E9B292BF742ABD -35521DBA016B6A3C1BE594C020B1254459D3334F92BCF2645A454A3AA0F9A40A -682C816937D4CD2C392D396E6E14DC64CB72143F9C3925CED4A721ECA16F39C3 -06A04605C768344C64FA9C9B75EB4FDD28139BF786619544F0A077BC564FB554 -A59DAE6BC2058064C0106C4878418D6A124654B23D9354706AF7449C996199F8 -1D3DAA2A712A18CC214BECE73751E996933968EA5766801653EBC042D1B38AE2 -996900B303A56EC81141741E26F4310265D8E785B1BFACF7B6210F2AADCE5C84 -56474ED40D92666DEDC745E4521DBC1A26F26AD1319DE992822838EA3FAC3C02 -E4F185497747635D932FFBB6EEC172AA9B975042F665BD097556EA18AD19FF77 -CCF11C505E618A19BD21159748FCC9005C9F6BEFD4B3840307B11477F21B4C80 -C6CFA2E822731A4372613498B69886FA4F43E2423C73928395C85CA14C3D5EE0 -41A6FED4A65533409372897FFC229C88847204EA16770DC57FFDCB88FA7C69EF -EBE08C4EB56DC0D1561023AE4F4057C138FFFACD7E0B7E4C3059B168492FCEAF -39218326F9C53CB151479639A0AB8CD5B7EAC4F53C9D54C2B91C2D6B42124C40 -C6F69ACD9B93A1AD62F37D68A35E59EF96A332ABE5CD1B52F8BE81C98EBB5C6D -611D98B24386832ACFDB35AFBC089181D91814CE1098799B6453E7DCD921BAE9 -92760955D4729353B1B9316BFFFF1F9395BB293244D1F2B05D5934830084A81F -C723CBC710F0CAFB8E79D6376D874DB0DE06022FD1E9916FD034382C24D35B57 -A93B81C632F39ED08B37CBD0026D727AE8068912566BB5474F58EAA977B02B87 -3162B42EED393667CB88AB5AD10EDE4A40D5AF10955DD0CB0C99FAE88AD6FDE6 -56F222885FB42190FF4882D51DBEDFED76DAB1F9404C4723B6D7727238E1C18F -9E607AF6948E851569349ABCC415FDE3DC33F3BFCB410FC8B9773349491AC74F -247BA3B60D1E6183F8A666AF584453037EAD347C6C6AC7D8B0124F398AC6A323 -FCCC15CE4345B56BC2CFBBD17AC5353D60191D0E3C9A9CF78DCCD46DF5F94C08 -A012B7618901095688C82869D11824493806CCD4FD7F90A3347586E6681D260C -168869AF2A9D1F16637484D4C81382EE66B08BFFDFC57EC9FF815B1B8F60566B -A405CB9BF6EDA6C9030FBE770F82DDBE998CC1A21BFF7BE67CFD55FD0EF86249 -EEE248A9CD8DE1CFB4CB8B100D29E8A2E50324F7D716A6AC7745BC307E74261D -9AC05E3A9BB4E1EA6D434C82DCC2675CCE0AB1AFABCE03F8A938321257A15ED9 -71FFCE05DC19AB211D1907BB9DC032004EC6AD80AE7342DA9EAD9B6EA8AF4DD6 -E022B3DA7D187B42BE8D6F0682FD89F4283AC87D1CF68B6193A500539C7E0280 -DAFDD1A43E0560D2FC444BB9A949FA408F7F7E130E5D1656F2355FA7264B57B8 -40A70366CB14DEF5908C1A69B8365DC0CBBADFB4B82B2FE6EB68DDC9B1FE71C6 -2D61F5A48DBDF1BC8A9FE9D81CAE0F95A2FA190FC194A94623826D4A76D24132 -3A3A453D71E03414205A14ADD34DE6654972FCEC6E77BC7F988DF7212D642FC2 -86D98BA69B2CA28426880D25B97B845D3B0BE5015029F37BE17AA11D4A457118 -08F97B141DEBBA2F4EFE542CDC3AFA825338ABF0CB919718DE8C3ED384AC8078 -10BB680A52115C92AC3A6C75CF5D9BE57277BE62A0C638D058B6FB4F22B669DC -9BC239891E3006D13D2B74A8878B8D932F12E4CCA70E5DBA1CAB0EF0D7EBA6F9 -8C89FE5A4DE66FD55579EA6E0D0B302AD7FAC851FF41E1B50BF2771D45BD4287 -A3712CE3E26C1634C30DC6E0C2B2B9BEFED266A65DA87505B05725D9E882496A -3A2D9BCA03344153528C694F151250CF45ED116291453BD9C364372F19E3E047 -3B2E1268377C5F3D60376892D49EC914156AC19102AE4B83FA1BCA49B20596EE -73A6B8832F30BC5440C076A5C79E61204D8DB5C99D885955723016C7E93218D3 -3F1DE9F004F301E134966BC7B30D87DCCE1EA53863D0C4231E6FEBA239CBE110 -D00DF9F318F77B6A55BABECB54FBA883110D88F2EAA5837954B88278801F1FF9 -DF37E6642449A7296A34CE8D14B32970C37A013A83D60F9D5F3CCE70E80E3AB1 -24DB2F9982D9A1281B7792BDF5EAC3473422DBBE5492784BF5B0DEFBC6FE05BA -283506E84F5DB90E5D31A94CB84FC593B9A12B2F48DCBE4F0567CC6ADDDBB8B4 -359C3EF63045D4A4B607DA8CEA2EF305D9AFA2EA059C061E8D877E10F2517910 -2EF8EE46DD88AAB0CD1366B226D48FAB68294269E30D032A859B1BBEDB38D679 -4C545E8D4F32E78764B36AE45E2DB298ADE78DD1661D73BBC892EEB03D3417A3 -39F4DB9D20F260885EE5D6900CCD091152DD0DDAB60EC66CEAB06E4CF987F90C -1D4E74BF853A04C2B74601E743F52F0F29D2D05FFA0B6BACC64468CF62C0A2 +8A98D1D031C430FAFDED5CFE3944C1EA9CBCA28220AA4043F389568D91C81D55 +79B07B0AB08B8C9A97E8A077E9470F009FF04CEA11DDB886852B1D8F4F8277C2 +89DB25E0B816FA5FFDE51F0BD931E82DB0A63D0A7E8EEEA61A6001419065BD7C +C7CAE6304D67C8A9D17FA5EB6074BBB37E217394AC665BB5D62C18936FFA6416 +CA88B5EE8B4609D6DB1C0DDC3485435788AB81CD09EF2C4867AB76094199ABDC +4C632AC625D9C171631AEB4A4597EB2C6154F21031DFA3D2421B200D98FB5BAC +DCA2AC7EE4346880207ECD304FC1A8D1A4D89C07C3810B0966F23A82C6F2D0E0 +3C8B824D0AF596D91646C023A885F1AA7E1EBF78805984E2A9F3EA669717CFF0 +DAEACBB810476915178DCAD1DC9817927787AA1B01E700955982CE5B81636B98 +2F5C1559A47D262454C20C1C5A16365EF3D93072E09485C49DE40A0A8917B8EC +EC2BAB34197089496C9C0D5E270BE99642D86C80EB8A4D3A1308CDB3D198CF44 +18043E5A4F6BB56C56ADD1A7F5F00E88CCCD3637DC402A10F5C9D4DB5C401029 +8C3ABE815A9A028661A1D41C9B6D22E6BFE2E9B7D50C045A2DE5553F4F483EC8 +9D6DDDE85816FDEF687938F1D8D51D2F3D895D34FACFDD36E8D6BA6A3205AC45 +78DC23BE6F9148792AC96F1C44DFB716FC883E63A26EDDC6EBABC759F1641FB8 +AF339E84052CF3CEC808E70F18AE25139CCF6143498CE992C7E645EE35A50BBD +D3BDC9D5FA885C7F4B361F4E552C47D99F8CC0F56F0E856C2F51AD2B7296EF0E +F7E1A964044DC9BEEBB67BDC830F6026EE80C8A0C7F3DE64086BEAB5947FEEFC +EBAE229847E91B4E1377749F89687E1AA41494D17CFC65D65A8C5D9ADECD5309 +112006D7BE209A17B9C8C8708730BF56CF35458BB1AD7BF0D9BA86ED255961C0 +2D8D81478D5A094CCC6841624838ABEEA0AF72F1833D3BA07E3683282E501819 +7542BB0D87DFB741EACF875C838821B821F780540EC06631E3F09B4C3032C2B3 +6E2A414204120E045394417E77813028354802866ADC8648E480E8183B492A41 +8959AA9CEA6A8683CE19F68224534250E8579BC6E7B4FCE6EC8FE88C81D023B2 +803F4051D082F0DE1CD459DE0C8261336C3AD7363A50EADFE6210A0BC68282D1 +B1CF74407921143BD7186029A602D8278E3018482DEA5D7630022EB4DB667F06 +08BF071F6842F1D67E56396F2CB78BCC2995569A099175D223738A15792B375F +EF2F03ABD91ABEEAA69ED0E78030CA879CD8862C71C92C0A8C5695C7F477B793 +959791F2B066D63EFFA1DB8AB194DCBD1231E9DBC44768BDFBC03342A733062E +07CB4043803EA78DC80B08499DDEA63EE7702A4926236DBE5C646ACF1645C1A9 +5169D4C517A546F824DB14CE505336217774B79D48A1F026467ED406680F6A03 +AF30032E60A99CF06E1EFA182DD8BC0EA060B8A5847ACA336F3BB22FFFADC090 +F6B9DB007BB4C7864669CE4209C0B499A1A617A44C1D9406EA39DD00EB39B78D +EC9757CD67E0B84539712657AE0FF455271205E767ABE4B34F93D3DA2DC21AA1 +2A1355DC75414A9642FC0D501B87BE14B06BDF31A29F3B0BDCF3D9DE3A28AFD3 +B2C6F624890DCFE0825AEB4A6AFC9A44CD4B4BDB1352565421BFE0CF31D8B575 +19F521183DBC31867AB58C7473657EF1A045E42E23AD6008795257FD2291DBF8 +E10BC88744902071BCD32EAC53BF8B71697EAD353B561C6221A61B6E53DFA619 +1F1F01B472A97370F3D4A3280D26B4A0A1842C26606E2AADDBE4EE716CD25465 +DF4AAE0A4B8AAC44067B78C03DC159093727712A39BDE4C902F3EB770D9CACE8 +C139E160C5E55C66258770C36A136BA9E7510B21699A079E3A771D08769D1588 +1DAD9EF22F5A2EB661CC88CC6E1346F4F5548704A9E2F2950CE9DD1239821A08 +9FB5559642CE693FAD75406C2B85F5F8CF6DDBDF9DAA24B87031B931E1751EDF +2C0AA6BC2D8B9459B9C4981652653D57DE294AA768B1793BC175C3C081A13A4A +961747380E3E9DB8EFBADEE8A047E78FF382AA7D2F09519A4B83C2EDAE167D7C +5A1B230948582F1A966A721320C11E65CC85A596AAA32BCD54A7BA6C1A3FD103 +C068A2B7E7B7C66A76D1BEE1916FFBE7DACC70676900FCCE03AFBD93113E22F1 +D45B5564AD3053DF0FBE4A3DDCA73D3D49959A4256A50F8C80021FDEEA77666E +6384FCEFECDBA01FDB2E46D6C422C46BC2B150E09A2F4D4C2D8FD7D78C5C8C12 +9A839E25281BF1BC390523AAC184BC8DC2357B41E2FB09609E0EB65E40048580 +DD33D908046166733AFFA8D33A78EF4286DF6E57FAFDC75A77C94F9486412AB4 +A27BE34BC597B2D02963BCED345DEC4776ECD653991E442709F2A4EF1DCDCB09 +A18C2FBBAB473CDC81B440D3BE42323603B25832D1A4558D857C47CAEAF798D2 +94F803B8B9082B4B4298DF5FC84D4BBF7B0C90399DCCD2E63F332DED120CD19B +5533D7A010A34D1763B68B4DA26D12FBB82F13F5AB069D5E24E97181340551E2 +1B9FC4DB15B8913A2334C010BBB1867B210FF562E73BCC4607EE57DA9F52E99B +D25B95E602FA62760F4FD902A2393893C80FD75C3966B523FC4515224A92E7FC +57BE85BA6D0794AE4FFE054139C81FAFE3E82A9789E9C4CD1310643ABA10AB23 +6E3681F0862FAEC02DC74FD513898766F8A0971E2C4760975F236084CE1A1C45 +5AB43A1986CDECE8AE76A8EF0F4EB6A35223C3001F4B6FC03273FE9BCA55B7B7 +99DE05BC03E61AF713B6588F3746295C5FEB2DEC81ABE04B6C434B35381BD447 +CB5EF5E36ED368BC09452F09E7B7D0AC7B9B56456EE10515B6439A2ADD6BDD13 +8184F57B26AF67E77F0A9CFFB2198162A21041C3B7B225857C4AC9570386AEF1 +9DE4FD47C74ABEE0BF6B40456BC95A8D82FE0584D999D11A39437A32553FDB98 +72F6DB4E8EB3DD6A002D2A168ABF01B180E3860F802D46A16AB011A4A96C2F71 +0330B1260EA5444448AA5B4899202DB4DBB148F4AA4B057D085681E2D2FE89A7 +03C687E6EFC16E0858649E46C21B77A9F0EC547AA9ADE92D7FCF0BE8D353B215 +20511CD6D706DC4EC48E738FD6939EF24268F37173249A0881B0972BB2214FFB +043A4083CC9E0135F356B36E00B64AACEE0711B784AC687AB17F5E839773221B +E884A1F46223525D70BDA5BF82AFCD012ECD327CB4852F8CC538E09F3913AC23 +E8BB0C8613301DC12A08F0647599D1BB06960509A569BCCCCA3045C3459B93FE +949ECDB751E2AEA912558CB0DE59FF10E3511641D3516B2DAB11AAEEF958629C +7F756A0489105C7C1723BBC7A2304CD98D36F019FF494074488F686A967A1B9E +8AA64B988F79342E5120476DCEC087009952E9C2F3766A272E54D27436660A5A +7488899A8DA1F7FEB38C12EC5EC781ACDD0948EC8077022A549280828F0B7EA1 +DC3B4787E708D46B0310113C998BF40BAF77EE7B90243AF7E70391E2255F116F +E2B0982AC9723D713A5E00454748EC8B4A855DA7DF6F239430874AFEA187B622 +A3F6705E4D79FD47A83EC981D5ED14E9AB8C4AD4F3E5CD56CC4C0453FF9E3D5D +41327958F4D1A6E129328FFE7FF643B63F7138F280AE59CD8228B0ABC2023FEE +7B634FF42B54F21C7F945539C0AABD81298C72964413D966BD53ECDE9969A22A +0B0BBC172553A4430BA0C48A7499ED6BCD19917B3BED8708899E98DB07C1B1AB +6A17B5ACD6BAC51892EE4870D6EA08C0EB89AE4ECFE10F19E1242E7490D91D52 +DAD1B515A38A9F277FC07A728023ECDE78F10130CD3DB1AECB3CF2408FB1A9EC +D899A4C6C8747F8311502A88450A113796573CB5F2FF149C61B9F4D475C12A35 +B36842C17AA26DE8ABB0AB97D3CC329189388DD57D9A51B671460162E360448B +E8A9B1C6B81BD88EEDED5C868814209C6CB99A4C345CF153E015A8699F4BBBA6 +4CCA3996981B9BE36A02B38F4A3BE0C79F1628CBB5B792678362AD968FC459A0 +DFDF6257425D5C665B53DC5FAA741E6E83359AEC56F3590AEEEFE87C5DCD05CE +4294E1DDAD41ADD5861043BEBCA5BC8E0048DDEF0D48C213D750EB7AA9B55831 +1A3AEDB1757C1D193BEF212212D46DDC2CA98504E47A0897D3B1479D98D825A7 +80DCFE89BD6EA0BB7F0D9FDC2636B9DD627CA76019E6EC89E489D64051099F59 +5D4826AF2B1D15D78BB1FA98CDCD524DF47798111A887C1D650E4C4D94FF174E +8B794D79F789F34F25448B9FCC218608D4830D7AC1ABD2C9DEB90B0B9EB1970C +44693ECF1FE235580BB33FD43BD28558202EC7EA566C64D2F5D6D8D284EF73F5 +2093AE92C65C76E7424393B6EFF08C3010A0038651CB063B8DC785BDAC78BCDA +E9A9C574CB20991157708B6A1FAE0C9156C1B0580961777DBF42A79E665E55B4 +68756B12BC393A464B61A506EF0E782476A6FD48529DE8B1DC82CA79DFB6E947 +CE777123A054BA86CBB9ECE3B75EEB73BCA23098B1359E152A121DFDB935EF6C +8CB0F35604754C02DDB317D94036BBC99349B20596BC36FFFA65BF11D2075E65 +6A36F0A3C5F3117C02A4BD0BD58D434A66B851D279CDFF194165027633BFFBC4 +C6F47CD99CC7FA385F2E7A70022A9E73A54C5B8BF9EBD394B8C11D95B08AF3F6 +6B6626A7D89C485593BD244FB3E926CF54D02B9CACAD09EB17D8B2036AB3DACB +D6D3B5F8655BD222489AD8415D44A7B7840296028F2E7EDF8F3E5B126D5F6764 +B9832A346CC52D02DA12A043BD9E39310C65D93407799C837F80FA8A181DA13E +9EE446FE474A236321357DFFA9EDFEACCBA6B6DE4ED895FC94D08F509BE63825 +A661794B10C730457B29809FA68453C95AAE6C0AF0AFDD4C3DBE75E43AC59E39 +04CF82829398EEF70EFA8ECC473E76A1B6C02BB2A7B142EB4985530C0A173D27 +B4259EA302692E1D01DBA7C71ED9A8DCFD371FD692B14E8751BE83CB8F0EFB18 +FDC0617882A29B04755F1FBF7A50FD75325F4BC6267AB43B485AE0728D8F17CE +02F8512DD62228731E469B21EC1497F49982137B368D6D33FC3436DDB9FE774A +2A290BFFDAC838F44EB659193DD8B495B351A4BC75AD18A05C50854A303F0878 +8DF3F200FAB1ACA287D847D33A8C8F9521AA4CC8B4257DDBB62C2399FE32D32C +D99CEEF5BA561E0709A1D44A1D73CCA06255062A12E6549136360F6A262B4672 +B3B2D39A8097B4AA529FF4288DE0B9E5DA4CF2024D717CBDC29759812914F140 +76A5E136194107A7CDE76E2C0EF8A0804190D3322C8C8E281A522A6660E6590B +875DD18787F1D142373B63F52FAE9ECF5BD4AA0225CCC2DA26BCD2AE0360014F +8FE4BBA8FAFC8C778C228C98C47B2A33C63A1C313F22AE8CE340F50C9162C64E +2BEA1B8295270344E705F41E5E0FE0892E8B2555309A68EE2BBDDDCFD9098282 +552EE99C3B355FC4B1329AC2BABDCD888D9493AEC24B7064BB716E91071C3204 +BC86820FD8D54CF3D4CC22803D4A4F083E312376735EB8C44744C1B8A1C3A4F8 +1607AF7087CAA62374C724308125770AE240BA73E2E9C3264AE21C07C75B97E1 +D127679574C6F7FEE51B5FF5532CDF05178DEB4B9DDE6AEEA908A8FC4A57FC98 +EA737002C581DBE9DB2A7159C18086DC7B54FE88E1C9455AD57324E710365553 +575AAD6CA71B81E2F75F31AE7D2AA54B7FA22CE8BA75D821182EF3F8113FE53D +47F30A70597371AD7381BE349A849D2DD95D461FB737D2F73683BD85040A93A0 +830E3916AB7B6A80C15BD6FD14D850C3F620E11EA4937FACFD68C5F1CFA05871 +AEAC0911C0356D82B579F689B24C288EDCFBAFA6C5A70CDE0849B1CA0CA41412 +4DFC1E409847415402FCE9F3E35CF87FF5CADBFFF71F3B1EE2C13DB56380411C +241F03BD12242DD35987BDD5B2482B0CFED9CED935F183B9975977EFC0A93862 +8AD3FB48835E0AB04CC04526D956B63C480FA99FB558311F02C9134B83D5CDB2 +527231B74D29DECE0DD2328B55FC228410BF01BC9A5236C21A96CE39DD2A8936 +E28447AB661B6130F9A12B9DB56DF2C32183379FF5947E3572CD123DCE23B7C8 +59F318F1D19D1AD8FE7AC4D6AB1BA48B74AD10A9084E26BF022C66ABC9E18D03 +20175FCCB7A346DC4A07D87B6B89A93533AF929EC1A99EDE00B38A9E6D073244 +4059E56420431FC37660CEF5009B55BE2D9E096DC21DE0DD3DB9ED61AEB31B18 +F1AA98162929CB2B11183970961008DB9782B9F0AA3FD24C71F63EAC783C1B35 +49F76798E46CD1024CB4EF6D75081FE2E6A31131A6261BC206F7C2A86D687FFC +C5E886E4E3DDEAC8F4932CCC21D35E1107576699E88399C6103525BE7B22515E +B600F6E701C277C4094D3A904B16040A744CE4D8A3330B9CC11CB89348C34689 +8113C7386D6C5BB195B284E73B6FBB913F7F962E460E1EB3ADFDFDBF5229966F +710BA348F9B64805F8ECB7245CF52C1E34005DFCCFC29FA1C5938CAB1FC1D00A +D906E1738172082DCC35FDD1C523678AA295B0F607BAA88A0A21C703DE7D40E2 +99B24AD007263A8ABAB7B8185B18BEEFD57C7D82175A28972AE4D0C09ABEE7E9 +BC51DCAC9A588FF4AB7CBAE0EF799171887B6DCB5381888D56ADA069D95B97B4 +4F447E8B7033214C890DED5FBF0926AC73364762A8684B36C971F324A1A2AD8C +C98AD1ADB37D1C034AB23CF71967A44262211CF3B1AB7DBD7A835CC1D8485063 +94088A21E91CCDF10A61BA7B39E20C91A2A838D6DF27ED2A3E6C7D31982CD55D +C63C4D2028625AFD7FC6B4AFB6874721E1F5FB483DEB672858872F5714A120A8 +6411DB2545F42AA8F40229FCB0981D7BBDCB4AD8DEFDB582564610FA1A0A23AC +0648AA88577DFD9F75FF196F1D0C58D1AEB886A6443781D36D69FAFEA413B093 +CD03D450AB5B93CCFDF5897BE21FD7686936F9C052D9234292E5D8C6E3AEF79E +27C3469FEA5773DC61F151347E6E910BDAAEF1B8FFE606F50431403AABA2DC91 +AAA75D0B6277159C96F8CEB5E7C24BC2675141D64493F0142C5D6DAC0FC6385F +0809A80779BAFCCAFE715C7A7EC5A2DCFC64DABA55FA55CD5AD7002887B3F54A +59E6A7702FD135ADCED5ACFC2DB06AECB4297E8A8A367FAA62840ABFE0BF5E9F +C58EF2CFD8EA8464BD0DC03251D1E0F405CA9D686C92173ED29DA37D9F616A50 +6DCB98E5DD8D238547078FF053D4FD52426A431EC81560835DC98E4CED52CAC4 +62E20AC5254B9BEDE84869623421C3787240560DB885F6C0C40444FF4BC91774 +D13EA62E8049740582E48C9EA3CF28AB4560963D2D4273FC30EA178CE3B3EED4 +8AEE6D37D9BDD9A1086834093D3454D046D0C8DD50AA309A47D796DCAB3E4144 +92C44ADD7A338F15E3C543F91D081D12D3668C933A977830A69C159EC189FCF2 +6B01B20AF2D25A8D6FD040C55914F77650CE40788A689FE9BABB7EBC257BDDB5 +1E0793C240425DD1F5F6FF75EDB200758331D8531C10E1C4188F48E783CABAD8 +30F946671136F2FE14B7BF2A2BE952E90CE8436E48401F324D1342632F9C1AE9 +E248CF06ED1106E6FFCC8444DEE4639264C2CC604F9BA31D6CDEF45D1B30DE95 +18C637B2A2B664FF0819D65F1FFDEDD628A0E4EE584574425959EB41558BA91B +C807A11BAD0DE0BCC713AF7A8B1292735C17EAF001F176E2686EA035E344CA61 +6DF6F468ED41045DC47A4371DE882B850DEE11096CED7EC72C3AF36AA2F4301E +4FDE09FADD6A93DDE03932B21622B705FB82BEA14D1D217F947F68871CDD710A +8B3840BF0D33F5867E0DB5C9DCCEDB903C8A5DA2D82CE6377E281900B2FFCB36 +21E7CAB72383D1C4A5DBEED82B1C30FA2304BB87076A6C4A5BF6305803C9385F +B387642BDD2EBC6D660E1492B13266306DAFE8EFFB2EC94B472F32F6D5A5D357 +929E6014A97A55E7549E384A6E3B4051ED84F55A0CE39DBC8BE5F6EB3533B34D +EB8C013F219F9432C007D9D783EDA498709EB0704B8A30E36080E536D9FC90E4 +A41C758AB3DCF3D741373EEC4202A812240E1FCB40396A257FAE74B8B0937B38 +5F96BB52264834FFBC95C12898E309E76C92F7D7905E3834B89F1A6BDD0A58D5 +BDA6B9C6ED10DCE2CE9CAB4B1D4D2112B2AA880EB6709AFFC515555DBDAD8307 +1158F820DA6A6DFBE2269F98A0B02AE270F144F8E11FC7F5E1B8A4044A6ACA21 +5152288D343A8EC876B96F2D13C4EACAE1650481ED417090344E044F682C0D65 +2BFA753D02A72CC0507EA8FDE860701B43027DFCBC7B3FAF26B3C484F602B00D +DB1F747CD60F02EC569671FD0CA70323A158633B86C45381DD81AF80C935786C +713DE54521C43260E77B3308687524864B5D764E6A65400A984C788A6B6C7FDC +CA5B874E2890A8F956031FBB205D0F527C8CC3D65202A957CD552068CF4853E1 +9AC32CED27EC96F53880AC4B62DAF7EE6B892C4030442237503EB68C19365596 +BA25710DE5C0804AB2D28745D348AA1AA26DA9FDD8C0E33F66183AF0C8DF0E58 +D83ED9FC39A0DA78DCBF76729FAC538E018A1DCFA998318632D45B7E2D70D97E +AD99C52DD6189707DA73360C4523015D55E8C82E28822C42B724CB9E3C35BE2B +F0021CD83B3F04316948021F4EA1C01959C45AAFE6BF3C7D83C4009913E7C1B6 +D26410338411BDCFF261238D75431D0AEF473129A7AF610768138C8612BBDE3D +2FAA5937F2A4EEF1758B57CF132C14EF80FCF68B59E20E3D910B53B674CFA3DE +C74BF65B19BC99522C88C3697D473A790EBBA79F66A8C031F5540DCD42C4E6FC +96AB35C7F4ED9A887DF2DA76831A009973C94FBE60FDD3544E6A05169FED5BAD +252FF65648B7DB4540C41230815AC3A25E9E563A4B98D37B1BF9EB43739538FA +9D168855DCD55E268155E047B12B1DA6E57A50C9DD7AD5162B6BEC0195154878 +D311EFC4CD15B75649FC917634A9A9372F110EC0483319D93D311A143F3FBA05 +441C6444446193DD5874F1AFB9FBCB244F0BBEFE122160E4DFCDD4C8FC866925 +510B4F9C35B8F5538AF5C7506056DCB52CB8972B28E4097501C527BC1489FCD3 +BB51B6F0EA29A48E26B61CF367CE6E0A3DEE3277E07CD347B1B4053079E19C2A +F11AD996A20466E3DB3E225641AF23F6C5C4D8CFA0DFA6952FAF262B05B52824 +B2D5E768DAA24DBC0D75A59957407BA162800D659383C98B1E9EE7C46F69870F +2ED9F3F5AF5018AB7B52B5C26BA3C94F76F99E15E35EED8D00B994A1D1B23A1A +5F892C5558DE9FB4DD14AC92F8F649EDF9E7AC85604C3FBC752DF7143F2A7239 +8302B08CBA56172C1FD319094B9B920DCFEFF4EF3EBC755EEC4A5950722EB60B +5E54502ED16E1AFFD4281DEA5AA79FA474F661865233B620681639CBEB1A6B49 +43B9E7BFAF391C8819FB1EEF7AD854907C0F2B5E7BCBB168C87B45FDFB24142E +13C7E826BF169A3412750528F7B229991C0E81AFA9D90001789235E6ABF935BC +BE0D225E5EA55C9980D1ADBFA63BEF090F054B65E4653452F289A4EFDDD44D42 +4242D1504468E522E475F6939C3A24599396A164ED9D5E6BDADBF381F7C15445 +D3C77DD819A4015507452B994198FB572934BDDD0CB582645333F567DF13F839 +4042D4DC89B3325D128A2A93D8B406EC774505960086E5DEFC62E6B5927CB842 +7A4075162232EE9ED861D997240BBE94F87F5379E97F8DB09D15B0B67B73997A +A7CEDEF83B9246212A0FC036DB2BD6A2F883F9748AE84193A31DEDAC285C700D +3929FECE62567902B60F8109A920AE6CDE5EE6F19CC701FCCEC11AD33DF63CF5 +547877EE2625BA39D0952BF10E6CA242599AEA71CDD288FEFF6FFC511CAAF4D3 +CC16216793D35E6488DA771C25AEF92389E27BDA29ED2E8087FA6CE8B52513AA +9E51008FA424CAD8C48E81F33B3A957033153C03B1AE368C68AD5670233C9DDF +7A785AC5E6728C07109C23BDA88BFFC9B40767D65D1B451CC0ECD6DF104A0A5E +9C030CE244452BE8FAAEDFCA13D93D8AF4EC9A9665340673A9EF13A88D4E0CD5 +66020C635F 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -2146,18 +2148,18 @@ TeXDict begin 52099146 40258431 1000 600 600 (refcard.dvi) 33 36 51[26 45[{}19 66.4176 /CMTI8 rf /Fc 242[61 13[{}1 49.8132 /CMSY6 rf /Fd 134[32 1[43 32 34 24 24 24 1[34 30 34 50 18 32 1[18 34 30 19 27 34 27 34 30 11[45 1[34 -2[41 1[45 54 3[22 1[47 39 41 1[43 42 45 9[30 30 30 1[30 -30 30 30 1[18 21 18 44[{}44 49.8132 /CMR6 rf /Fe 134[43 -43 59 43 45 32 32 34 43 45 41 45 68 23 43 1[23 45 41 -25 37 45 36 45 40 85[47 11[{}25 66.4176 /CMBX8 rf /Ff -130[35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 +2[41 1[45 54 3[22 1[47 39 41 1[43 42 45 9[30 1[30 1[30 +30 30 30 1[18 21 18 31[35 12[{}44 49.8132 /CMR6 rf /Fe +134[43 43 59 43 45 32 32 34 43 45 41 45 68 23 43 1[23 +45 41 25 37 45 36 45 40 85[47 11[{}25 66.4176 /CMBX8 +rf /Ff 130[35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 -3[35 2[35 35 35 1[35 2[35 35 4[35 35 35 35 35 35 35 35 -35 35 1[35 1[35 4[35 35 35 35 35 35 35 35 35 35 35 35 -35 35 35 1[35 35 35 35 35 33[{}74 66.4176 /CMTT8 rf /Fg -133[51 60 60 83 60 64 45 45 47 1[64 57 64 95 32 60 1[32 -64 57 35 53 64 51 64 56 9[118 2[80 64 86 86 3[109 69 -90 1[43 90 90 72 75 88 83 81 87 53[67 11[{}42 99.6264 +35 35 35 3[35 2[35 35 35 1[35 2[35 35 4[35 35 35 35 35 +35 35 35 35 35 1[35 1[35 4[35 35 35 35 35 35 35 35 35 +35 35 35 35 35 35 1[35 35 35 35 35 33[{}74 66.4176 /CMTT8 +rf /Fg 133[51 60 60 83 60 64 45 45 47 1[64 57 64 95 32 +60 1[32 64 57 35 53 64 51 64 56 9[118 2[80 64 86 86 3[109 +69 90 1[43 90 90 72 75 88 83 81 87 53[67 11[{}42 99.6264 /CMBX10 rf /Fh 132[35 31 37 37 51 37 39 27 28 28 37 39 35 39 59 20 37 22 20 39 35 22 31 39 31 39 35 4[35 3[53 72 53 53 51 4[55 53 65 44 2[25 1[55 1[48 54 2[53 6[20 @@ -2170,7 +2172,10 @@ TeXDict begin 52099146 40258431 1000 600 600 (refcard.dvi) %%Feature: *Resolution 600dpi TeXDict begin %%BeginPaperSize: Letter -letter +/setpagedevice where +{ pop << /PageSize [612 792] >> setpagedevice } +{ /letter where { pop letter } if } +ifelse %%EndPaperSize @landscape end %%EndSetup @@ -2224,18 +2229,18 @@ n(h)435 b Ff(C-M-r)-450 3700 y Fh(select)24 b(previous)g(searc)n(h)g (h)g(string)533 b Ff(M-n)-450 3859 y Fh(exit)24 b(incremen)n(tal)g (searc)n(h)729 b Ff(RET)-450 3939 y Fh(undo)24 b(e\013ect)i(of)d(last)h (c)n(haracter)580 b Ff(DEL)-450 4019 y Fh(ab)r(ort)24 -b(curren)n(t)g(searc)n(h)815 b Ff(C-g)-450 4125 y Fh(Use)27 -b Ff(C-s)h Fh(or)f Ff(C-r)h Fh(again)g(to)f(rep)r(eat)i(the)f(searc)n -(h)f(in)g(either)h(direction.)-450 4205 y(If)23 b(Emacs)h(is)f(still)g -(searc)n(hing,)h Ff(C-g)g Fh(cancels)h(only)e(the)i(part)f(not)g(done.) --358 4311 y Fd(c)-375 4313 y Fc(\015)d Fd(2007)h(F)-5 -b(ree)22 b(Soft)n(w)n(are)g(F)-5 b(oundation,)20 b(Inc.)27 -b(P)n(ermissions)21 b(on)g(bac)n(k.)28 b(v2.3)1746 -364 -y Fg(Motion)1746 -201 y Fe(en)n(tit)n(y)e(to)g(mo)n(v)n(e)h(o)n(v)n(er) -472 b(bac)n(kw)n(ard)69 b(forw)n(ard)1746 -121 y Fh(c)n(haracter)885 -b Ff(C-b)302 b(C-f)1746 -42 y Fh(w)n(ord)1017 b Ff(M-b)302 -b(M-f)1746 38 y Fh(line)1058 b Ff(C-p)302 b(C-n)1746 -118 y Fh(go)24 b(to)g(line)g(b)r(eginning)g(\(or)g(end\))281 +b(curren)n(t)g(searc)n(h)815 b Ff(C-g)-450 4125 y Fh(Use)20 +b Ff(C-s)h Fh(or)f Ff(C-r)h Fh(again)g(to)f(rep)r(eat)h(the)h(searc)n +(h)e(in)g(either)h(direction.)30 b(If)-450 4205 y(Emacs)19 +b(is)g(still)f(searc)n(hing,)i Ff(C-g)f Fh(cancels)h(only)g(the)f(part) +h(not)g(matc)n(hed.)-358 4311 y Fd(c)-375 4313 y Fc(\015)h +Fd(2007)h(F)-5 b(ree)22 b(Soft)n(w)n(are)g(F)-5 b(oundation,)20 +b(Inc.)27 b(P)n(ermissions)21 b(on)g(bac)n(k.)28 b(v2.3)1746 +-364 y Fg(Motion)1746 -201 y Fe(en)n(tit)n(y)e(to)g(mo)n(v)n(e)h(o)n(v) +n(er)472 b(bac)n(kw)n(ard)69 b(forw)n(ard)1746 -121 y +Fh(c)n(haracter)885 b Ff(C-b)302 b(C-f)1746 -42 y Fh(w)n(ord)1017 +b Ff(M-b)302 b(M-f)1746 38 y Fh(line)1058 b Ff(C-p)302 +b(C-n)1746 118 y Fh(go)24 b(to)g(line)g(b)r(eginning)g(\(or)g(end\))281 b Ff(C-a)302 b(C-e)1746 197 y Fh(sen)n(tence)913 b Ff(M-a)302 b(M-e)1746 277 y Fh(paragraph)855 b Ff(M-{)302 b(M-})1746 357 y Fh(page)1028 b Ff(C-x)36 b([)231 b(C-x)37 b(])1746 @@ -2323,19 +2328,20 @@ b(C-o)3942 1959 y Fh(join)23 b(line)g(with)h(previous)g(\(with)g(arg,)f (around)f(p)r(oin)n(t)358 b Ff(M-\\)3942 2119 y Fh(put)24 b(exactly)h(one)g(space)f(at)h(p)r(oin)n(t)503 b Ff(M-SPC)3942 2216 y Fh(\014ll)23 b(paragraph)1025 b Ff(M-q)3942 2295 -y Fh(set)24 b(\014ll)f(column)1005 b Ff(C-x)36 b(f)3942 -2375 y Fh(set)24 b(pre\014x)g(eac)n(h)h(line)e(starts)h(with)506 -b Ff(C-x)36 b(.)3942 2472 y Fh(set)24 b(face)1211 b Ff(M-o)3942 -2609 y Fg(Case)37 b(Change)3942 2730 y Fh(upp)r(ercase)25 -b(w)n(ord)961 b Ff(M-u)3942 2809 y Fh(lo)n(w)n(ercase)24 -b(w)n(ord)979 b Ff(M-l)3942 2889 y Fh(capitalize)25 b(w)n(ord)975 -b Ff(M-c)3942 2986 y Fh(upp)r(ercase)25 b(region)924 -b Ff(C-x)36 b(C-u)3942 3066 y Fh(lo)n(w)n(ercase)24 b(region)942 -b Ff(C-x)36 b(C-l)3942 3212 y Fg(The)h(Minibu\013er)3942 -3332 y Fh(The)24 b(follo)n(wing)f(k)n(eys)h(are)g(de\014ned)h(in)e(the) -i(minibu\013er.)3942 3429 y(complete)g(as)f(m)n(uc)n(h)g(as)f(p)r -(ossible)539 b Ff(TAB)3942 3509 y Fh(complete)25 b(up)f(to)g(one)h(w)n -(ord)673 b Ff(SPC)3942 3588 y Fh(complete)25 b(and)f(execute)778 +y Fh(set)24 b(\014ll)f(column)h(to)g Fb(ar)l(g)800 b +Ff(C-x)36 b(f)3942 2375 y Fh(set)24 b(pre\014x)g(eac)n(h)h(line)e +(starts)h(with)506 b Ff(C-x)36 b(.)3942 2472 y Fh(set)24 +b(face)1211 b Ff(M-o)3942 2609 y Fg(Case)37 b(Change)3942 +2730 y Fh(upp)r(ercase)25 b(w)n(ord)961 b Ff(M-u)3942 +2809 y Fh(lo)n(w)n(ercase)24 b(w)n(ord)979 b Ff(M-l)3942 +2889 y Fh(capitalize)25 b(w)n(ord)975 b Ff(M-c)3942 2986 +y Fh(upp)r(ercase)25 b(region)924 b Ff(C-x)36 b(C-u)3942 +3066 y Fh(lo)n(w)n(ercase)24 b(region)942 b Ff(C-x)36 +b(C-l)3942 3212 y Fg(The)h(Minibu\013er)3942 3332 y Fh(The)24 +b(follo)n(wing)f(k)n(eys)h(are)g(de\014ned)h(in)e(the)i(minibu\013er.) +3942 3429 y(complete)g(as)f(m)n(uc)n(h)g(as)f(p)r(ossible)539 +b Ff(TAB)3942 3509 y Fh(complete)25 b(up)f(to)g(one)h(w)n(ord)673 +b Ff(SPC)3942 3588 y Fh(complete)25 b(and)f(execute)778 b Ff(RET)3942 3668 y Fh(sho)n(w)24 b(p)r(ossible)f(completions)636 b Ff(?)3942 3748 y Fh(fetc)n(h)25 b(previous)e(minibu\013er)g(input)484 b Ff(M-p)3942 3828 y Fh(fetc)n(h)25 b(later)e(minibu\013er)g(input)i @@ -2345,9 +2351,9 @@ y Fh(regexp)24 b(searc)n(h)h(forw)n(ard)d(through)j(history)261 b Ff(M-s)3942 4067 y Fh(ab)r(ort)24 b(command)953 b Ff(C-g)3942 4164 y Fh(T)n(yp)r(e)28 b Ff(C-x)37 b(ESC)f(ESC)28 b Fh(to)h(edit)f(and)h(rep)r(eat)f(the)h(last)f(command)h(that)3942 -4243 y(used)c(the)g(minibu\013er.)33 b(T)n(yp)r(e)26 -b Ff(F10)f Fh(to)g(activ)l(ate)h(the)g(men)n(u)f(bar)f(using)3942 -4323 y(the)h(minibu\013er.)p eop end +4243 y(used)e(the)g(minibu\013er.)38 b(T)n(yp)r(e)26 +b Ff(F10)h Fh(to)g(activ)l(ate)h(men)n(u)f(bar)e(items)i(on)3942 +4323 y(text)e(terminals.)p eop end %%Page: 2 2 TeXDict begin @landscape 2 1 bop -358 -364 a Fi(GNU)45 b(Emacs)h(Reference)g(Card)-450 -141 y Fg(Bu\013ers)-450 @@ -2475,17 +2481,17 @@ b Ff(M-:)3942 1526 y Fh(load)24 b(from)f(standard)h(system)g(directory) 175 b Ff(M-x)36 b(load-library)3942 1731 y Fg(Simple)h(Customization) 3942 1896 y Fh(customize)25 b(v)l(ariables)e(and)i(faces)396 b Ff(M-x)36 b(customize)3942 2004 y Fh(Making)24 b(global)g(k)n(ey)g -(bindings)g(in)f(Emacs)h(Lisp)f(\(examples\):)3942 2113 -y Ff(\(global-set-key)40 b("\\C-cg")d('goto-line\))3942 -2192 y(\(global-set-key)j("\\M-#")d('query-replace-regexp\))3942 -2397 y Fg(W)-10 b(riting)38 b(Commands)3942 2563 y Ff(\(defun)f -Fb(c)l(ommand-name)43 b Ff(\()p Fb(ar)l(gs)5 b Ff(\))4013 -2643 y(")p Fb(do)l(cumentation)g Ff(")38 b(\(interactive)g(")p -Fb(template)5 b Ff("\))4013 2722 y Fb(b)l(o)l(dy)h Ff(\))3942 -2831 y Fh(An)24 b(example:)3942 2939 y Ff(\(defun)37 -b(this-line-to-top-of-win)q(dow)42 b(\(line\))4013 3019 -y("Reposition)c(line)e(point)h(is)f(on)g(to)g(top)g(of)g(window.)3942 -3098 y(With)g(ARG,)h(put)f(point)h(on)f(line)g(ARG.")4013 +(bindings)g(in)f(Emacs)h(Lisp)f(\(example\):)3942 2113 +y Ff(\(global-set-key)40 b(\(kbd)c("C-c)g(g"\))h('search-forward\))3942 +2192 y(\(global-set-key)j(\(kbd)c("M-#"\))h('query-replace-regexp\)) +3942 2397 y Fg(W)-10 b(riting)38 b(Commands)3942 2563 +y Ff(\(defun)f Fb(c)l(ommand-name)43 b Ff(\()p Fb(ar)l(gs)5 +b Ff(\))4013 2643 y(")p Fb(do)l(cumentation)g Ff(")38 +b(\(interactive)g(")p Fb(template)5 b Ff("\))4013 2722 +y Fb(b)l(o)l(dy)h Ff(\))3942 2831 y Fh(An)24 b(example:)3942 +2939 y Ff(\(defun)37 b(this-line-to-top-of-win)q(dow)42 +b(\(line\))4013 3019 y("Reposition)c(current)f(line)g(to)f(top)g(of)g +(window.)3942 3098 y(With)g(ARG,)h(put)f(point)h(on)f(line)g(ARG.")4013 3178 y(\(interactive)i("P"\))4013 3258 y(\(recenter)f(\(if)g(\(null)f (line\))4507 3337 y(0)4436 3417 y(\(prefix-numeric-value)41 b(line\)\)\)\))3942 3525 y Fh(The)35 b Ff(interactive)k @@ -2494,17 +2500,18 @@ Fh(sp)r(ec)c(sa)n(ys)g(ho)n(w)h(to)f(read)h(argumen)n(ts)g(in)n(terac-) b(f)g(interactive)26 b Fh(for)d(more)h(details.)4235 3736 y Fd(Cop)n(yrigh)n(t)4538 3734 y(c)4521 3736 y Fc(\015)d Fd(2007)i(F)-5 b(ree)21 b(Soft)n(w)n(are)i(F)-5 b(oundation,)20 -b(Inc.)4399 3800 y(v2.3)i(for)f(GNU)f(Emacs)h(v)n(ersion)h(22,)f(2006) +b(Inc.)4399 3800 y(v2.3)i(for)f(GNU)f(Emacs)h(v)n(ersion)h(22,)f(2007) 4532 3864 y(designed)f(b)n(y)h(Stephen)f(Gildea)3942 -3956 y(P)n(ermission)28 b(is)f(gran)n(ted)i(to)f(mak)n(e)h(and)e -(distribute)f(copies)j(of)f(this)f(card)h(pro-)3942 4020 -y(vided)23 b(the)h(cop)n(yrigh)n(t)h(notice)g(and)f(this)f(p)r -(ermission)h(notice)g(are)h(preserv)n(ed)g(on)3942 4084 -y(all)20 b(copies.)3942 4176 y(F)-5 b(or)21 b(copies)g(of)g(the)g(GNU)e -(Emacs)i(man)n(ual,)f(write)h(to)g(the)f(F)-5 b(ree)22 -b(Soft)n(w)n(are)g(F)-5 b(oun-)3942 4240 y(dation,)29 -b(Inc.,)g(51)g(F)-5 b(ranklin)28 b(Street,)h(Fifth)f(Flo)r(or,)h -(Boston,)i(MA)d(02110-1301)3942 4304 y(USA)p eop end +3956 y(P)n(ermission)29 b(is)f(gran)n(ted)i(to)f(mak)n(e)h(and)e +(distribute)g(mo)r(di\014ed)f(or)j(unmo)r(di\014ed)3942 +4020 y(copies)f(of)h(this)e(card)h(pro)n(vided)g(the)f(cop)n(yrigh)n(t) +i(notice)f(and)g(this)f(p)r(ermission)3942 4084 y(notice)21 +b(are)g(preserv)n(ed)h(on)f(all)f(copies.)3942 4176 y(F)-5 +b(or)21 b(copies)g(of)g(the)g(GNU)e(Emacs)i(man)n(ual,)f(write)h(to)g +(the)f(F)-5 b(ree)22 b(Soft)n(w)n(are)g(F)-5 b(oun-)3942 +4240 y(dation,)29 b(Inc.,)g(51)g(F)-5 b(ranklin)28 b(Street,)h(Fifth)f +(Flo)r(or,)h(Boston,)i(MA)d(02110-1301)3942 4304 y(USA)p +eop end %%Trailer userdict /end-hook known{end-hook}if diff --git a/etc/refcard.tex b/etc/refcard.tex index 7f7784bc957..922f6bb61ab 100644 --- a/etc/refcard.tex +++ b/etc/refcard.tex @@ -15,13 +15,13 @@ % Nothing else needs to be changed below this line. % Copyright (C) 1987, 1993, 1996, 1997, 2001, 2002, 2003, 2004, -% 2005, 2006, 2007 Free Software Foundation, Inc. +% 2005, 2006, 2007, 2008 Free Software Foundation, Inc. % This file is part of GNU Emacs. % GNU Emacs is free software; you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by -% the Free Software Foundation; either version 2, or (at your option) +% the Free Software Foundation; either version 3, or (at your option) % any later version. % GNU Emacs is distributed in the hope that it will be useful, @@ -64,9 +64,9 @@ % If there were room, it would be nice to see a section on Dired. \def\versionnumber{2.3} % version of this manual -\def\versionyear{2006} % year manual was updated +\def\versionyear{2007} % year manual was updated \def\versionemacs{22} % version of emacs this manual is for -\def\year{2007} % copyright year +\def\year{2008} % copyright year \def\shortcopyrightnotice{\vskip 1ex plus 2 fill \centerline{\small \copyright\ \year\ Free Software Foundation, Inc. @@ -78,9 +78,9 @@ \centerline{v\versionnumber{} for GNU Emacs version \versionemacs, \versionyear} \centerline{designed by Stephen Gildea} -Permission is granted to make and distribute copies of -this card provided the copyright notice and this permission notice -are preserved on all copies. +Permission is granted to make and distribute modified or unmodified +copies of this card provided the copyright notice and this permission +notice are preserved on all copies. For copies of the GNU Emacs manual, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA @@ -449,7 +449,7 @@ frame instead of a window. \key{put exactly one space at point}{M-SPC} \key{fill paragraph}{M-q} -\key{set fill column}{C-x f} +\key{set fill column to {\it arg}}{C-x f} \key{set prefix each line starts with}{C-x .} \key{set face}{M-o} @@ -638,11 +638,11 @@ Other: % The intended audience here is the person who wants to make simple % customizations and knows Lisp syntax. -Making global key bindings in Emacs Lisp (examples): +Making global key bindings in Emacs Lisp (example): \beginexample% -(global-set-key "\\C-cg" 'goto-line) -(global-set-key "\\M-\#" 'query-replace-regexp) +(global-set-key (kbd "C-c g") 'search-forward) +(global-set-key (kbd "M-\#") 'query-replace-regexp) \endexample \section{Writing Commands} diff --git a/etc/ru-refcard.tex b/etc/ru-refcard.tex index 2853c65a115..a7ba0360b02 100644 --- a/etc/ru-refcard.tex +++ b/etc/ru-refcard.tex @@ -1,5 +1,5 @@ % Copyright (C) 1997, 2002, 2003, 2004, 2005, -% 2006, 2007 Free Software Foundation, Inc. +% 2006, 2007, 2008 Free Software Foundation, Inc. \documentclass[10pt]{article} \usepackage{multicol,tabularx} @@ -21,7 +21,7 @@ \newcommand{\versionnumber}[0]{2.3} \newcommand{\versionemacs}[0]{22} -\newcommand{\nyear}[0]{2007} +\newcommand{\nyear}[0]{2008} \newcommand\shortcopyrightnotice[0]{\vskip 1ex plus 2 fill \centerline{\footnotesize \copyright\ \nyear\ Free Software Foundation, Inc. diff --git a/etc/ses-example.ses b/etc/ses-example.ses index 3cbeb587b19..7646f3458d2 100644 --- a/etc/ses-example.ses +++ b/etc/ses-example.ses @@ -206,15 +206,15 @@ Sales summary - Acme fundraising ;;; symbolic-formulas: (("Eastern area") ("West-district") ("North&South") ("Other")) ;;; End: -;;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 +;;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;;; Free Software Foundation, Inc. ;;; COPYING PERMISSIONS: ;;; ;;; This document is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 2 of the License, or -;;; (at your option) any later version. +;;; the Free Software Foundation; either version 3, or (at your option) +;;; any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -222,8 +222,8 @@ Sales summary - Acme fundraising ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License -;;; along with this program; if not, write to the Free Software -;;; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - +;;; along with this program; see the file COPYING. If not, write to the +;;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, +;;; Boston, MA 02110-1301, USA. ;;; arch-tag: 4fcb0843-e3f9-4270-b8fb-998129190765 diff --git a/etc/sk-dired-ref.tex b/etc/sk-dired-ref.tex index fbc8f4cdd49..9ee3941919f 100644 --- a/etc/sk-dired-ref.tex +++ b/etc/sk-dired-ref.tex @@ -1,6 +1,6 @@ % Reference Card for Dired % Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, -% 2006, 2007 Free Software Foundation, Inc. +% 2006, 2007, 2008 Free Software Foundation, Inc. % Slovak hyphenation rules applied \shyph @@ -9,7 +9,7 @@ % GNU Emacs is free software; you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by -% the Free Software Foundation; either version 2, or (at your option) +% the Free Software Foundation; either version 3, or (at your option) % any later version. % GNU Emacs is distributed in the hope that it will be useful, @@ -50,7 +50,7 @@ \def\versionnumber{0.1} \def\versionemacs{22} -\def\year{2007} +\def\year{2008} \def\version{May 2006\ v\versionnumber} \def\shortcopyrightnotice{\vskip 1ex plus 2 fill diff --git a/etc/sk-refcard.tex b/etc/sk-refcard.tex index 1182e50b82d..4cbee07ce9f 100644 --- a/etc/sk-refcard.tex +++ b/etc/sk-refcard.tex @@ -12,13 +12,13 @@ \columnsperpage=1 % Copyright (C) 1987, 1993, 1996, 1997, 2001, 2002, 2003, 2004, -% 2005, 2006, 2007 Free Software Foundation, Inc. +% 2005, 2006, 2007, 2008 Free Software Foundation, Inc. % This file is part of GNU Emacs. % GNU Emacs is free software; you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by -% the Free Software Foundation; either version 2, or (at your option) +% the Free Software Foundation; either version 3, or (at your option) % any later version. % GNU Emacs is distributed in the hope that it will be useful, @@ -70,7 +70,7 @@ \def\versionnumber{2.2} \def\versionemacs{21} \def\versionyear{2006} % last update -\def\year{2007} % latest copyright year +\def\year{2008} % latest copyright year \def\shortcopyrightnotice{\vskip 1ex plus 2 fill \centerline{\small \copyright\ \year\ Free Software Foundation, Inc. diff --git a/etc/sk-survival.tex b/etc/sk-survival.tex index 658e501b063..71bee1f3d58 100644 --- a/etc/sk-survival.tex +++ b/etc/sk-survival.tex @@ -22,13 +22,13 @@ \fi % Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, -% 2006, 2007 Free Software Foundation, Inc. +% 2006, 2007, 2008 Free Software Foundation, Inc. % This file is part of GNU Emacs. % GNU Emacs is free software; you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by -% the Free Software Foundation; either version 2, or (at your option) +% the Free Software Foundation; either version 3, or (at your option) % any later version. % GNU Emacs is distributed in the hope that it will be useful, @@ -52,7 +52,7 @@ \def\versionnumber{1.0} \def\versionemacs{21} -\def\year{2007} % latest copyright year +\def\year{2008} % latest copyright year \def\copyrightnotice{\penalty-1\vfill \vbox{\smallfont\baselineskip=0.8\baselineskip\raggedcenter diff --git a/etc/splash.xpm b/etc/splash.xpm index 85171f30725..64eb931f826 100644 --- a/etc/splash.xpm +++ b/etc/splash.xpm @@ -1,7 +1,7 @@ /* XPM */ /* Gnu Emacs Logo * - * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 + * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 * Free Software Foundation, Inc. * * Author: Luis Fernandes @@ -10,7 +10,7 @@ * * GNU Emacs is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) + * the Free Software Foundation; either version 3, or (at your option) * any later version. * * GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/splash8.xpm b/etc/splash8.xpm index 236d07c6a1c..2e909ce67a1 100644 --- a/etc/splash8.xpm +++ b/etc/splash8.xpm @@ -1,7 +1,7 @@ /* XPM */ /* Gnu Emacs Logo for color depth 8 * - * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 + * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 * Free Software Foundation, Inc. * * Author: Luis Fernandes @@ -10,7 +10,7 @@ * * GNU Emacs is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) + * the Free Software Foundation; either version 3, or (at your option) * any later version. * * GNU Emacs is distributed in the hope that it will be useful, diff --git a/etc/survival.tex b/etc/survival.tex index 59583430896..9700ef95b66 100644 --- a/etc/survival.tex +++ b/etc/survival.tex @@ -26,13 +26,13 @@ \fi % Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, -% 2006, 2007 Free Software Foundation, Inc. +% 2006, 2007, 2008 Free Software Foundation, Inc. % This file is part of GNU Emacs. % GNU Emacs is free software; you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by -% the Free Software Foundation; either version 2, or (at your option) +% the Free Software Foundation; either version 3, or (at your option) % any later version. % GNU Emacs is distributed in the hope that it will be useful, @@ -47,7 +47,7 @@ \def\versionnumber{1.0} \def\versionemacs{21} -\def\year{2007} % latest copyright year +\def\year{2008} % latest copyright year \def\copyrightnotice{\penalty-1\vfill \vbox{\smallfont\baselineskip=0.8\baselineskip\raggedcenter diff --git a/etc/tree-widget/default/README b/etc/tree-widget/default/README index e8ef58fe925..c6bfe03cd6e 100644 --- a/etc/tree-widget/default/README +++ b/etc/tree-widget/default/README @@ -5,5 +5,5 @@ Files: close.png close.xpm empty.png empty.xpm end-guide.png end-guide.xpm no-guide.png no-guide.xpm no-handle.png no-handle.xpm open.png open.xpm Author: David Ponce -Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. -License: GNU General Public License version 2 or later (see COPYING) +Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +License: GNU General Public License version 3 or later (see COPYING) diff --git a/etc/tree-widget/folder/README b/etc/tree-widget/folder/README index 2a5d156e70e..ec0eaa51290 100644 --- a/etc/tree-widget/folder/README +++ b/etc/tree-widget/folder/README @@ -5,5 +5,5 @@ Files: close.png close.xpm empty.png empty.xpm end-guide.png leaf.png leaf.xpm no-guide.png no-guide.xpm no-handle.png no-handle.xpm open.png open.xpm Author: David Ponce -Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. -License: GNU General Public License version 2 or later (see COPYING) +Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +License: GNU General Public License version 3 or later (see COPYING) diff --git a/etc/vipcard.tex b/etc/vipcard.tex index 6bd0fabdf9f..c49e9ca984d 100644 --- a/etc/vipcard.tex +++ b/etc/vipcard.tex @@ -8,24 +8,24 @@ \columnsperpage=1 % Copyright (C) 1987, 2001, 2002, 2003, 2004, 2005, -% 2006, 2007 Free Software Foundation, Inc. +% 2006, 2007, 2008 Free Software Foundation, Inc. % This file is part of GNU Emacs. -% This file is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY. No author or distributor -% accepts responsibility to anyone for the consequences of using it -% or for whether it serves any particular purpose or describes -% any piece of software unless they say so in writing. Refer to the -% GNU Emacs General Public License for full details. -% -% Permission is granted to copy, modify and redistribute this source -% file provided the copyright notice and permission notices are -% preserved on all copies. -% -% Permission is granted to process this file through TeX and print the -% results, provided the printed document carries copyright and -% permission notices identical to the ones below. +% GNU Emacs is free software; you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation; either version 3, or (at your option) +% any later version. + +% GNU Emacs is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. + +% You should have received a copy of the GNU General Public License +% along with GNU Emacs; see the file COPYING. If not, write to +% the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +% Boston, MA 02110-1301, USA. % This file is intended to be processed by plain TeX (TeX82). % @@ -55,7 +55,7 @@ \def\versionnumber{1.2} -\def\year{2007} +\def\year{2008} \def\version{September 2006\ v\versionnumber} \def\shortcopyrightnotice{\vskip 1ex plus 2 fill diff --git a/etc/viperCard.tex b/etc/viperCard.tex index a4d80fcf668..e3b8443bd59 100644 --- a/etc/viperCard.tex +++ b/etc/viperCard.tex @@ -8,24 +8,24 @@ \columnsperpage=2 % Copyright (C) 1995, 1996, 1997, 2001, 2002, 2003, 2004, -% 2005, 2006, 2007 Free Software Foundation, Inc. +% 2005, 2006, 2007, 2008 Free Software Foundation, Inc. % This file is part of GNU Emacs. -% This file is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY. No author or distributor -% accepts responsibility to anyone for the consequences of using it -% or for whether it serves any particular purpose or describes -% any piece of software unless they say so in writing. Refer to the -% GNU Emacs General Public License for full details. -% -% Permission is granted to copy, modify and redistribute this source -% file provided the copyright notice and permission notices are -% preserved on all copies. -% -% Permission is granted to process this file through TeX and print the -% results, provided the printed document carries copyright and -% permission notices identical to the ones below. +% GNU Emacs is free software; you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation; either version 3, or (at your option) +% any later version. + +% GNU Emacs is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. + +% You should have received a copy of the GNU General Public License +% along with GNU Emacs; see the file COPYING. If not, write to +% the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +% Boston, MA 02110-1301, USA. % This file is intended to be processed by plain TeX (TeX82). % @@ -62,7 +62,7 @@ \def\versionnumber{3.0} -\def\year{2007} +\def\year{2008} \def\version{August 2006 v\versionnumber} \def\shortcopyrightnotice{\vskip 1ex plus 2 fill diff --git a/info/COPYING b/info/COPYING index d511905c164..94a9ed024d3 100644 --- a/info/COPYING +++ b/info/COPYING @@ -1,285 +1,626 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. - Preamble + Preamble - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of this License. - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it @@ -287,15 +628,15 @@ free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least +state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) - This program is free software; you can redistribute it and/or modify + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or + the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -303,37 +644,31 @@ the "copyright" line and a pointer to where the full notice is found. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + You should have received a copy of the GNU General Public License + along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/leim/COPYING b/leim/COPYING index d511905c164..94a9ed024d3 100644 --- a/leim/COPYING +++ b/leim/COPYING @@ -1,285 +1,626 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. - Preamble + Preamble - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of this License. - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it @@ -287,15 +628,15 @@ free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least +state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) - This program is free software; you can redistribute it and/or modify + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or + the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -303,37 +644,31 @@ the "copyright" line and a pointer to where the full notice is found. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + You should have received a copy of the GNU General Public License + along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/leim/ChangeLog b/leim/ChangeLog index f4bfce06bb3..4080cde6fc9 100644 --- a/leim/ChangeLog +++ b/leim/ChangeLog @@ -1,3 +1,43 @@ +2008-03-26 Chong Yidong + + * Version 22.2 released. + +2008-01-14 Aidan Kehoe (tiny change) + + * quail/latin-ltx.el ("TeX"): Correct the mappings for \v{k} and + \vk. + +2007-12-15 Richard Stallman + + * quail/latin-post.el ("scandinavian-postfix"): Doc fix. + + * quail/latin-alt.el: Many doc fixes. + ("danish-alt-postfix") + ("esperanto-alt-postfix", "finnish-alt-postfix") + ("german-alt-postfix", "icelandic-alt-postfix") + ("norwegian-alt-postfix", "scandinavian-alt-postfix") + ("spanish-alt-postfix", "swedish-alt-postfix"): + Deleted; they were identical to the non-alt versions. + +2007-10-31 Glenn Morris + + * Makefile.in (install): Change ownership of installed files. + +2007-10-24 Juanma Barranquero + + * quail/indian.el (quail-indian-update-preceding-char): + Don't mark the variable as frame-local; it wasn't used as such. + +2007-07-25 Glenn Morris + + * Relicense all FSF files to GPLv3 or later. + + * COPYING: Switch to GPLv3. + +2007-07-20 Eli Zaretskii + + * makefile.w32-in (extraclean): Don't delete *~. + 2007-06-02 Chong Yidong * Version 22.1 released. @@ -5,11 +45,11 @@ 2007-01-30 Kenichi Handa * CXTERM-DIC/CCDOSPY.tit, CXTERM-DIC/PY-b5.tit, CXTERM-DIC/SW.tit, - CXTERM-DIC/TONEPY.tit: Add copyright and license notices. + * CXTERM-DIC/TONEPY.tit: Add copyright and license notices. * MISC-DIC/pinyin.map, MISC-DIC/ziranma.cin: Add copyright and license notices. - + 2007-01-24 Kenichi Handa * MISC-DIC/README: New file. @@ -17,8 +57,8 @@ * CXTERM-DIC/README: New file. * CXTERM-DIC/4Corner.tit, CXTERM-DIC/CCDOSPY.tit, - CXTERM-DIC/PY-b5.tit, CXTERM-DIC/QJ-b5.tit, CXTERM-DIC/QJ.tit, - CXTERM-DIC/SW.tit, CXTERM-DIC/TONEPY.tit: Updated from + * CXTERM-DIC/PY-b5.tit, CXTERM-DIC/QJ-b5.tit, CXTERM-DIC/QJ.tit, + * CXTERM-DIC/SW.tit, CXTERM-DIC/TONEPY.tit: Updated from X11R6/contrib/programs/cxterm. * ja-dic/ja-dic.el: Regenerated. @@ -1691,13 +1731,13 @@ ;; End: Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2006, - 2007 Free Software Foundation, Inc. + 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/leim/Makefile.in b/leim/Makefile.in index 4c5d9b68751..e70280007ec 100644 --- a/leim/Makefile.in +++ b/leim/Makefile.in @@ -1,7 +1,9 @@ # Makefile for leim subdirectory in GNU Emacs. -# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +# 2006, 2007, 2008 # Free Software Foundation, Inc. -# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +# 2006, 2007, 2008 # National Institute of Advanced Industrial Science and Technology (AIST) # Registration Number H14PRO021 @@ -9,7 +11,7 @@ # GNU Emacs is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) +# the Free Software Foundation; either version 3, or (at your option) # any later version. # # GNU Emacs is distributed in the hope that it will be useful, @@ -251,6 +253,7 @@ install: all done) \ else true; fi -chmod -R a+r ${INSTALLDIR} + -find ${INSTALLDIR} -exec chown $${LOGNAME:-$$USERNAME} '{}' ';' clean mostlyclean: rm -f ${TIT-MISC} ${TIT-MISC:.elc=.el} \ diff --git a/leim/README b/leim/README index f29221977a3..c4d242cbb20 100644 --- a/leim/README +++ b/leim/README @@ -1,4 +1,4 @@ -Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. See the end of the file for license conditions. @@ -45,7 +45,7 @@ This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/leim/leim-ext.el b/leim/leim-ext.el index 0970572c3a0..cd20c56c2d7 100644 --- a/leim/leim-ext.el +++ b/leim/leim-ext.el @@ -1,8 +1,8 @@ ;; leim-ext.el -- extra leim configuration -*- coding:iso-2022-7bit; -*- -;; Copyright (C) 2004, 2005, 2006, 2007 +;; Copyright (C) 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. -;; Copyright (C) 2004, 2005, 2006, 2007 +;; Copyright (C) 2004, 2005, 2006, 2007, 2008 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H13PRO009 @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/leim/makefile.w32-in b/leim/makefile.w32-in index 08022d38cf2..717871dc61e 100644 --- a/leim/makefile.w32-in +++ b/leim/makefile.w32-in @@ -1,7 +1,8 @@ # -*- Makefile -*- for leim subdirectory in GNU Emacs on the Microsoft W32 API. -# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 # Free Software Foundation, Inc. -# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +# 2006, 2007 # National Institute of Advanced Industrial Science and Technology (AIST) # Registration Number H14PRO021 @@ -9,7 +10,7 @@ # GNU Emacs is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) +# the Free Software Foundation; either version 3, or (at your option) # any later version. # # GNU Emacs is distributed in the hope that it will be useful, @@ -215,5 +216,7 @@ distclean: clean maintainer-clean: distclean - $(FOREACH) $(WORLD) $(FORDO) $(DEL) $(FORVAR) $(ENDFOR) +# We used to delete *~ here, but that might inadvertently remove +# precious files if it happens to match their short 8+3 aliases. extraclean: maintainer-clean - - $(FOREACH) *~ "#*" $(FORDO) $(DEL) $(FORVAR) $(ENDFOR) + - $(FOREACH) *.el~ "#*" $(FORDO) $(DEL) $(FORVAR) $(ENDFOR) diff --git a/leim/quail/croatian.el b/leim/quail/croatian.el index 3d932566e33..c580ae6f097 100644 --- a/leim/quail/croatian.el +++ b/leim/quail/croatian.el @@ -1,6 +1,7 @@ ;;; quail/croatian.el -- Quail package for inputing Croatian -*-coding: iso-8859-2;-*- -;; Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 +;; Free Software Foundation, Inc. ;; Author: Hrvoje Nik¹iæ , ;; modeled after czech.el by Milan Zamazal. @@ -10,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/leim/quail/cyril-jis.el b/leim/quail/cyril-jis.el index 16301bc8b45..39b6a9e8f79 100644 --- a/leim/quail/cyril-jis.el +++ b/leim/quail/cyril-jis.el @@ -1,9 +1,9 @@ ;;; cyril-jis.el --- Quail package for inputting JISX0208 Cyrillic letters -;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 +;; 2006, 2007, 2008 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO021 @@ -13,7 +13,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/leim/quail/cyrillic.el b/leim/quail/cyrillic.el index df58b811907..1fdb6c98bd1 100644 --- a/leim/quail/cyrillic.el +++ b/leim/quail/cyrillic.el @@ -1,9 +1,9 @@ ;;; cyrillic.el --- Quail package for inputting Cyrillic characters -;; Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 +;; 2006, 2007, 2008 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO021 @@ -14,7 +14,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/leim/quail/czech.el b/leim/quail/czech.el index ab32c3e798b..b162df6d6db 100644 --- a/leim/quail/czech.el +++ b/leim/quail/czech.el @@ -1,6 +1,6 @@ ;;; czech.el --- Quail package for inputting Czech -*-coding: iso-2022-7bit;-*- -;; Copyright (C) 1998, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1998, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Author: Milan Zamazal @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/leim/quail/ethiopic.el b/leim/quail/ethiopic.el index 993dec32f01..69b33ad93fb 100644 --- a/leim/quail/ethiopic.el +++ b/leim/quail/ethiopic.el @@ -1,7 +1,7 @@ ;;; ethiopic.el --- Quail package for inputting Ethiopic characters -*-coding: iso-2022-7bit;-*- ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 +;; 2006, 2007, 2008 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO021 @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/leim/quail/georgian.el b/leim/quail/georgian.el index d207eb11a0d..515fd6a81d0 100644 --- a/leim/quail/georgian.el +++ b/leim/quail/georgian.el @@ -1,6 +1,6 @@ ;;; georgian.el --- Quail package for inputting Georgian characters -*-coding: utf-8;-*- -;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Author: Dave Love @@ -10,7 +10,7 @@ ;; This file is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; This file is distributed in the hope that it will be useful, diff --git a/leim/quail/greek.el b/leim/quail/greek.el index caeae315f21..5ae89d7bbab 100644 --- a/leim/quail/greek.el +++ b/leim/quail/greek.el @@ -1,9 +1,9 @@ ;;; greek.el --- Quail package for inputting Greek -*-coding: iso-2022-7bit-*- -;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 +;; 2006, 2007, 2008 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO021 @@ -13,7 +13,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/leim/quail/hangul.el b/leim/quail/hangul.el index 38b399150b2..91a9ca60662 100644 --- a/leim/quail/hangul.el +++ b/leim/quail/hangul.el @@ -1,9 +1,9 @@ ;;; hangul.el --- Quail package for inputting Korean Hangul characters -*-coding: iso-2022-7bit;-*- -;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 +;; 2006, 2007, 2008 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO021 @@ -13,7 +13,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/leim/quail/hangul3.el b/leim/quail/hangul3.el index b554f019827..1a61375aa65 100644 --- a/leim/quail/hangul3.el +++ b/leim/quail/hangul3.el @@ -1,9 +1,9 @@ ;;; hangul3.el --- Quail package for inputting Korean Hangul characters -*-coding: iso-2022-7bit;-*- -;; Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004, 2005, 2006, 2007 -;; Free Software Foundation, Inc. +;; Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004, 2005, 2006, 2007, +;; 2008 Free Software Foundation, Inc. ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 +;; 2006, 2007, 2008 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO021 @@ -13,7 +13,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/leim/quail/hanja-jis.el b/leim/quail/hanja-jis.el index 30e2aecfb20..b32a88f9d2d 100644 --- a/leim/quail/hanja-jis.el +++ b/leim/quail/hanja-jis.el @@ -1,7 +1,7 @@ ;;; hanja-jis.el --- Quail package for inputting Korean Hanja (JISX0208) -*-coding: iso-2022-7bit;-*- ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 +;; 2006, 2007, 2008 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO021 @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/leim/quail/hanja.el b/leim/quail/hanja.el index 553e4607e6b..3facd32679e 100644 --- a/leim/quail/hanja.el +++ b/leim/quail/hanja.el @@ -1,9 +1,9 @@ ;;; hanja.el --- Quail-package for Korean Hanja (KSC5601) -*-coding: iso-2022-7bit;-*- -;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 +;; 2006, 2007, 2008 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO021 @@ -13,7 +13,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/leim/quail/hanja3.el b/leim/quail/hanja3.el index b3f94b577f4..c324d2d1632 100644 --- a/leim/quail/hanja3.el +++ b/leim/quail/hanja3.el @@ -1,6 +1,6 @@ ;;; hanja3.el --- Quail-package for Korean Hanja (KSC5601) -*-coding: iso-2022-7bit;-*- -;; Copyright (C) 1997, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1997, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Author: Koaunghi Un @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/leim/quail/hebrew.el b/leim/quail/hebrew.el index 065b3f381c9..451322cb99d 100644 --- a/leim/quail/hebrew.el +++ b/leim/quail/hebrew.el @@ -1,6 +1,7 @@ ;;; hebrew.el --- Quail package for inputting Hebrew characters -*-coding: iso-2022-7bit;-*- -;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, +;; 2008 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO021 @@ -10,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/leim/quail/indian.el b/leim/quail/indian.el index 973c5ff12bb..ff60d16eb15 100644 --- a/leim/quail/indian.el +++ b/leim/quail/indian.el @@ -1,6 +1,6 @@ ;;; indian.el --- Quail packages for inputting Indian -;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Author: KAWABATA, Taichi @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -47,13 +47,12 @@ nil))) (defvar quail-indian-update-preceding-char nil) -(make-variable-frame-local 'quail-indian-update-preceding-char) ;; Input value :: ;; CONTROL-FLAG is integer `n' ;; quail-current-key :: keyboard input. ;; Only first `n' can be translated. -;; quail-current-str :: corresonding string. +;; quail-current-str :: corresonding string. ;; jobs :: (1) put last (len-n) char to unrread-command-event. ;; (2) put translated string to quail-current-str. ;; @@ -62,8 +61,8 @@ ;; quail-current-str :: corresponding string. ;; jobs :: (1) put modified translated string to quail-current-str. ;; -;; When non-nil value is returned from quail-translation-update-function, -;; the quail-current-str is split to characters and put into event queue, +;; When non-nil value is returned from quail-translation-update-function, +;; the quail-current-str is split to characters and put into event queue, ;; with `compose-last-char' event with composition info at the end. (defun quail-indian-update-translation (control-flag) @@ -79,7 +78,7 @@ ;; Check the preceding character of the quail region. If the ;; preceding character can be composed with quail-current-str, then ;; grab that preceding character into the quail-current-str and - ;; remove that char from the region. + ;; remove that char from the region. (let* (prec-char-position composition-regexp prec-char-str candidate-str match-pos match-end) (when (and quail-current-str @@ -103,9 +102,9 @@ (setq quail-indian-update-preceding-char prec-char-str) (delete-region prec-char-position (overlay-start quail-overlay)))) - (setq quail-current-str + (setq quail-current-str (indian-compose-string - (concat quail-indian-update-preceding-char + (concat quail-indian-update-preceding-char quail-current-str))) (if (numberp control-flag) (setq unread-command-events diff --git a/leim/quail/ipa.el b/leim/quail/ipa.el index 378646ae46b..873b4d0ca64 100644 --- a/leim/quail/ipa.el +++ b/leim/quail/ipa.el @@ -1,7 +1,7 @@ ;;; ipa.el --- Quail package for inputting IPA characters -*-coding: iso-2022-7bit;-*- ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 +;; 2006, 2007, 2008 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO021 @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/leim/quail/japanese.el b/leim/quail/japanese.el index d5ed027fff0..6ddd701e3fc 100644 --- a/leim/quail/japanese.el +++ b/leim/quail/japanese.el @@ -1,9 +1,9 @@ ;;; japanese.el --- Quail package for inputting Japanese -*-coding: iso-2022-7bit;-*- -;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 +;; 2006, 2007, 2008 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO021 @@ -13,7 +13,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/leim/quail/lao.el b/leim/quail/lao.el index bf9bdc21379..11cdc7aa985 100644 --- a/leim/quail/lao.el +++ b/leim/quail/lao.el @@ -1,7 +1,7 @@ ;;; lao.el --- Quail package for inputting Lao characters -*-coding: iso-2022-7bit;-*- ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 +;; 2006, 2007, 2008 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO021 @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/leim/quail/latin-alt.el b/leim/quail/latin-alt.el index 54160808cc0..ad87be48424 100644 --- a/leim/quail/latin-alt.el +++ b/leim/quail/latin-alt.el @@ -1,8 +1,8 @@ ;;; latin-alt.el --- Quail package for inputting various European characters -*-coding: iso-2022-7bit;-*- -;; Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. -;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO021 @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -25,10 +25,18 @@ ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ;; Boston, MA 02110-1301, USA. -;; Author: TAKAHASHI Naoto +;; Author (of latin-post.el): TAKAHASHI Naoto ;;; Commentary: +;; These input methods differ from those in latin-post.el +;; in that comma is not special (use / instead), +;; and // is not special either (so you can enter a slash +;; by typing //). + +;; At least, that's what I could see by comparing the first few +;; of these with latin-post.el. + ;;; Code: (require 'quail) @@ -36,6 +44,9 @@ (quail-define-package "latin-1-alt-postfix" "Latin-1" "1<" t "Latin-1 character input method with postfix modifiers +This input method differs from `latin-1-postfix' in that +comma is not special (use slash instead), and `//' is not +special (so you can use that to enter a slash). | postfix | examples ------------+---------+---------- @@ -49,9 +60,9 @@ others | /<> | s/ -> ,A_(B ?/ -> ,A?(B !/ -> ,A!(B | various | << -> ,A+(B >> -> ,A;(B o_ -> ,A:(B a_ -> ,A*(B -It would be natural to use comma for cedillas, but that would be -inconvenient in practice because commas are needed very often after a -letter. +It seems natural to use comma for cedillas, but that is +inconvenient in practice because commas are needed very +often after a letter. Doubling the postfix separates the letter and postfix: e.g. a'' -> a' " nil t nil nil nil nil nil nil nil nil t) @@ -199,6 +210,8 @@ Doubling the postfix separates the letter and postfix: e.g. a'' -> a' (quail-define-package "latin-2-alt-postfix" "Latin-2" "2<" t "Latin-2 character input method with postfix modifiers +This input method differs from `latin-2-postfix' in that +comma and period are not special (use ` instead). | postfix | examples ------------+---------+---------- @@ -215,8 +228,8 @@ Doubling the postfix separates the letter and postfix: e.g. a'' -> a' stroke | / | d/ -> ,Bp(B others | / | s/ -> ,B_(B -It would be natural to use period and comma for dots/rings and -cedillas/ogoneks, but that would inconvenient in practice, because +It seems natural to use period and comma for dots/rings and +cedillas/ogoneks, but that is inconvenient in practice, because periods and commas are needed very often after a letter. Doubling the postfix separates the letter and postfix: e.g. a'' -> a' @@ -391,6 +404,9 @@ Doubling the postfix separates the letter and postfix: e.g. a'' -> a' (quail-define-package "latin-3-alt-postfix" "Latin-3" "3<" t "Latin-3 character input method with postfix modifiers +This input method differs from `latin-3-postfix' in that +comma is not special (use ` instead), and period is not +special (use slash instead). | postfix | examples ------------+---------+---------- @@ -561,6 +577,9 @@ Doubling the postfix separates the letter and postfix: e.g. a'' -> a' (quail-define-package "latin-4-alt-postfix" "Latin-4" "4<" t "Latin-4 characters input method with postfix modifiers +This input method differs from `latin-4-postfix' in that +comma is not special (use ` instead), and period is not +special (use ~ instead). | postfix | examples ------------+---------+---------- @@ -577,8 +596,8 @@ Doubling the postfix separates the letter and postfix: e.g. a'' -> a' nordic | / | a/ -> ,De(B e/ -> ,Df(B o/ -> ,Dx(B others | / | s/ -> ,D_(B n/ -> ,D?(B k/ -> ,D"(B -It would be natural to use period and comma for dots and -cedillas/ogoneks, but that would inconvenient in practice, because +It seems natural to use period and comma for dots and +cedillas/ogoneks, but that is inconvenient in practice, because periods and commas are needed very often after a letter. Doubling the postfix separates the letter and postfix: e.g. a'' -> a' @@ -755,6 +774,9 @@ Doubling the postfix separates the letter and postfix: e.g. a'' -> a' (quail-define-package "latin-5-alt-postfix" "Latin-5" "5<" t "Latin-5 characters input method with postfix modifiers +This input method differs from `latin-5-postfix' in that +comma is not special (use ` instead), and period is not +special (use / instead). | postfix | examples ------------+---------+---------- @@ -769,8 +791,8 @@ Doubling the postfix separates the letter and postfix: e.g. a'' -> a' nordic | / | a/ -> ,Me(B e/ -> ,Mf(B o/ -> ,Mx(B others | / | s/ -> ,M_(B -It would be natural to use period and comma for dots and cedillas, but -that would inconvenient in practice, because periods and commas are +It seems natural to use period and comma for dots and cedillas, but +that is inconvenient in practice, because periods and commas are needed very often after a letter. Doubling the postfix separates the letter and postfix: e.g. a'' -> a' @@ -904,119 +926,7 @@ Doubling the postfix separates the letter and postfix: e.g. a'' -> a' ("y\"\"" ["y\""]) ) -(quail-define-package - "danish-alt-postfix" "Latin-1" "DA<" t - "Danish input method (rule: AE -> ,AF(B, OE -> ,AX(B, AA -> ,AE(B, E' -> ,AI(B) - -Doubling the postfix separates the letter and postfix: e.g. aee -> ae -" - nil t nil nil nil nil nil nil nil nil t) - -(quail-define-rules - ("AE" ?,AF(B) - ("ae" ?,Af(B) - ("OE" ?,AX(B) - ("oe" ?,Ax(B) - ("AA" ?,AE(B) - ("aa" ?,Ae(B) - ("E'" ?,AI(B) - ("e'" ?,Ai(B) - - ("AEE" ["AE"]) - ("aee" ["ae"]) - ("OEE" ["OE"]) - ("oee" ["oe"]) - ("AAA" ["AA"]) - ("aaa" ["aa"]) - ("E''" ["E'"]) - ("e''" ["e'"]) - ) - -(quail-define-package - "esperanto-alt-postfix" "Latin-3" "EO<" t - "Esperanto input method with postfix modifiers - -A following ^ or x will produce an accented character, -e.g. c^ -> ,Cf(B gx -> ,Cx(B u^ -> ,C}(B. - -Doubling the postfix separates the letter and postfix, -e.g. a'' -> a'. -" nil t nil nil nil nil nil nil nil nil t) - -(quail-define-rules - ("Cx" ?,CF(B) - ("C^" ?,CF(B) - ("cx" ?,Cf(B) - ("c^" ?,Cf(B) - ("Gx" ?,CX(B) - ("G^" ?,CX(B) - ("gx" ?,Cx(B) - ("g^" ?,Cx(B) - ("Hx" ?,C&(B) - ("H^" ?,C&(B) - ("hx" ?,C6(B) - ("h^" ?,C6(B) - ("Jx" ?,C,(B) - ("J^" ?,C,(B) - ("jx" ?,C<(B) - ("j^" ?,C<(B) - ("Sx" ?,C^(B) - ("S^" ?,C^(B) - ("sx" ?,C~(B) - ("s^" ?,C~(B) - ("Ux" ?,C](B) - ("U^" ?,C](B) - ("ux" ?,C}(B) - ("u^" ?,C}(B) - - ("Cxx" ["Cx"]) - ("C^^" ["C^"]) - ("cxx" ["cx"]) - ("c^^" ["c^"]) - ("Gxx" ["Gx"]) - ("G^^" ["G^"]) - ("gxx" ["gx"]) - ("g^^" ["g^"]) - ("Hxx" ["Hx"]) - ("H^^" ["H^"]) - ("hxx" ["hx"]) - ("h^^" ["h^"]) - ("Jxx" ["Jx"]) - ("J^^" ["J^"]) - ("jxx" ["jx"]) - ("j^^" ["j^"]) - ("Sxx" ["Sx"]) - ("S^^" ["S^"]) - ("sxx" ["sx"]) - ("s^^" ["s^"]) - ("Uxx" ["Ux"]) - ("U^^" ["U^"]) - ("uxx" ["ux"]) - ("u^^" ["u^"]) - ) - -(quail-define-package - "finnish-alt-postfix" "Latin-1" "FI<" t - "Finnish (Suomi) input method - -AE -> ,AD(B -AEE -> AE -OE -> ,AV(B -OEE -> OE -" - nil t nil nil nil nil nil nil nil nil t) -(quail-define-rules - ("AE" ?,AD(B) - ("ae" ?,Ad(B) - ("OE" ?,AV(B) - ("oe" ?,Av(B) - - ("AEE" ["AE"]) - ("aee" ["ae"]) - ("OEE" ["OE"]) - ("oee" ["oe"]) - ) (quail-define-package "french-alt-postfix" "French" "FR<" t @@ -1093,100 +1003,7 @@ Par exemple: e'' -> e' (">>>" [">>"]) ) -(quail-define-package - "german-alt-postfix" "German" "DE<" t - "German (Deutsch) input method - -ae -> ,Ad(B -aee -> ae -oe -> ,Av(B -oee -> oe -ue -> ,A|(B -uee -> ue -sz -> ,A_(B -szz -> sz -" - nil t nil nil nil nil nil nil nil nil t) - -(quail-define-rules - ("AE" ?,AD(B) - ("ae" ?,Ad(B) - ("OE" ?,AV(B) - ("oe" ?,Av(B) - ("UE" ?,A\(B) - ("ue" ?,A|(B) - ("sz" ?,A_(B) - - ("AEE" ["AE"]) - ("aee" ["ae"]) - ("OEE" ["OE"]) - ("oee" ["oe"]) - ("UEE" ["UE"]) - ("uee" ["ue"]) - ("szz" ["sz"]) - ) - -(quail-define-package - "icelandic-alt-postfix" "Latin-1" "IS<" t - "Icelandic (,AM(Bslenska) input method with postfix modifiers - -A' -> ,AA(B -E' -> ,AI(B -I' -> ,AM(B -O' -> ,AS(B -U' -> ,AZ(B -Y' -> ,A](B -AE -> ,AF(B -OE -> ,AV(B -D/ -> ,AP(B (eth) -T/ -> ,A^(B (thorn) - -Doubling the postfix separates the letter and postfix: e.g. a'' -> a' -" nil t nil nil nil nil nil nil nil nil t) - -(quail-define-rules - ("A'" ?,AA(B) - ("a'" ?,Aa(B) - ("E'" ?,AI(B) - ("e'" ?,Ai(B) - ("I'" ?,AM(B) - ("i'" ?,Am(B) - ("O'" ?,AS(B) - ("o'" ?,As(B) - ("U'" ?,AZ(B) - ("u'" ?,Az(B) - ("Y'" ?,A](B) - ("y'" ?,A}(B) - ("AE" ?,AF(B) - ("ae" ?,Af(B) - ("OE" ?,AV(B) - ("oe" ?,Av(B) - ("D/" ?,AP(B) - ("d/" ?,Ap(B) - ("T/" ?,A^(B) - ("t/" ?,A~(B) - ("A''" ["A'"]) - ("a''" ["a'"]) - ("E''" ["E'"]) - ("e''" ["e'"]) - ("I''" ["I'"]) - ("i''" ["i'"]) - ("O''" ["O'"]) - ("o''" ["o'"]) - ("U''" ["U'"]) - ("u''" ["u'"]) - ("Y''" ["Y'"]) - ("y''" ["y'"]) - ("AEE" ["AE"]) - ("aee" ["ae"]) - ("OEE" ["OE"]) - ("oee" ["oe"]) - ("D//" ["D/"]) - ("d//" ["d/"]) - ("T//" ["T/"]) - ("t//" ["t/"]) - ) (quail-define-package "italian-alt-postfix" "Latin-1" "IT<" t @@ -1259,157 +1076,12 @@ Doubling the postfix separates the letter and postfix: e.g. a`` -> a` ("a__" ["a_"]) ) -(quail-define-package - "norwegian-alt-postfix" "Latin-1" "NO<" t - "Norwegian (Norsk) input method (rule: AE->,AF(B, OE->,AX(B, AA->,AE(B, E'->,AI(B) - -Doubling the postfix separates the letter and postfix: e.g. aee -> ae -" - nil t nil nil nil nil nil nil nil nil t) - -(quail-define-rules - ("AE" ?,AF(B) - ("ae" ?,Af(B) - ("OE" ?,AX(B) - ("oe" ?,Ax(B) - ("AA" ?,AE(B) - ("aa" ?,Ae(B) - ("E'" ?,AI(B) - ("e'" ?,Ai(B) - - ("AEE" ["AE"]) - ("aee" ["ae"]) - ("OEE" ["OE"]) - ("oee" ["oe"]) - ("AAA" ["AA"]) - ("aaa" ["aa"]) - ("E''" ["E'"]) - ("e''" ["e'"]) - ) - -(quail-define-package - "scandinavian-alt-postfix" "Latin-1" "SC<" t - "Scandinavian input method with postfix modifiers -Supported languages are Swedish, Norwegian, Danish, and Finnish. - -ae -> ,Af(B -oe -> ,Ax(B -aa -> ,Ae(B -a\" -> ,Ad(B -o\" -> ,Av(B -e' -> ,Ai(B - -Doubling the postfix separates the letter and postfix: -aee -> ae o\"\" -> o\" etc. -" nil t nil nil nil nil nil nil nil nil t) - -(quail-define-rules - ("AE" ?,AF(B) - ("ae" ?,Af(B) - ("OE" ?,AX(B) - ("oe" ?,Ax(B) - ("AA" ?,AE(B) - ("aa" ?,Ae(B) - ("A\"" ?,AD(B) - ("a\"" ?,Ad(B) - ("O\"" ?,AV(B) - ("o\"" ?,Av(B) - ("E'" ?,AI(B) - ("e'" ?,Ai(B) - - ("AEE" ["AE"]) - ("aee" ["ae"]) - ("OEE" ["OE"]) - ("oee" ["oe"]) - ("AAA" ["AA"]) - ("aaa" ["aa"]) - ("A\"\"" ["A\""]) - ("a\"\"" ["a\""]) - ("O\"\"" ["O\""]) - ("o\"\"" ["o\""]) - ("E''" ["E'"]) - ("e''" ["e'"]) - ) - -(quail-define-package - "spanish-alt-postfix" "Spanish" "ES<" t - "Spanish (Espa,Aq(Bol) input method with postfix modifiers - -A' -> ,AA(B -E' -> ,AI(B -I' -> ,AM(B -O' -> ,AS(B -U' -> ,AZ(B -N~ -> ,AQ(B -!/ -> ,A!(B -?/ -> ,A?(B - -Doubling the postfix separates the letter and postfix: -a'' -> a' n~~ -> n~, etc. -" nil t nil nil nil nil nil nil nil nil t) - -(quail-define-rules - ("A'" ?,AA(B) - ("a'" ?,Aa(B) - ("E'" ?,AI(B) - ("e'" ?,Ai(B) - ("I'" ?,AM(B) - ("i'" ?,Am(B) - ("O'" ?,AS(B) - ("o'" ?,As(B) - ("U'" ?,AZ(B) - ("u'" ?,Az(B) - ("N~" ?,AQ(B) - ("n~" ?,Aq(B) - ("?/" ?,A?(B) - ("!/" ?,A!(B) - - ("A''" ["A'"]) - ("a''" ["a'"]) - ("E''" ["E'"]) - ("e''" ["e'"]) - ("I''" ["I'"]) - ("i''" ["i'"]) - ("O''" ["O'"]) - ("o''" ["o'"]) - ("U''" ["U'"]) - ("u''" ["u'"]) - ("N~~" ["N~"]) - ("n~~" ["n~"]) - ("?//" ["?/"]) - ("!//" ["!/"]) - ) - -(quail-define-package - "swedish-alt-postfix" "Latin-1" "SV<" t - "Swedish (Svenska) input method (rule: AA -> ,AE(B, AE -> ,AD(B, OE -> ,AV(B, E' -> ,AI(B) - -Doubling the postfix separates the letter and postfix: e.g. aee -> ae -" nil t nil nil nil nil nil nil nil nil t) - -(quail-define-rules - ("AA" ?,AE(B) - ("aa" ?,Ae(B) - ("AE" ?,AD(B) - ("ae" ?,Ad(B) - ("OE" ?,AV(B) - ("oe" ?,Av(B) - ("E'" ?,AI(B) - ("e'" ?,Ai(B) - - ("AAA" ["AA"]) - ("aaa" ["aa"]) - ("AEE" ["AE"]) - ("aee" ["ae"]) - ("OEE" ["OE"]) - ("oee" ["oe"]) - ("E''" ["E'"]) - ("e''" ["e'"]) - ) (quail-define-package "turkish-latin-3-alt-postfix" "Turkish" "TR3<<" t "Turkish (T,A|(Brk,Ag(Be) input method with postfix modifiers. +This input method differs from `turkish-latin-3-postfix' in that +comma is not special (use ` instead). This is for those who use Latin-3 (ISO-8859-3) for Turkish. If you use Latin-5 (ISO-8859-9), you should use \"turkish-alt-postfix\" instead. @@ -1472,6 +1144,8 @@ Doubling the postfix separates the letter and postfix: e.g. a^^ -> a^ (quail-define-package "turkish-alt-postfix" "Turkish" "TR,A+(B" t "Turkish (T,A|(Brk,Ag(Be) input method with postfix modifiers. +This input method differs from `turkish-postfix' in that +comma is not special (use ` instead). This is for those who use Latin-5 (ISO-8859-9) for Turkish. If you use Latin-3 (ISO-8859-3), you should use diff --git a/leim/quail/latin-ltx.el b/leim/quail/latin-ltx.el index e548a67a699..81230d19734 100644 --- a/leim/quail/latin-ltx.el +++ b/leim/quail/latin-ltx.el @@ -1,8 +1,8 @@ ;;; latin-ltx.el --- Quail package for TeX-style input -*-coding: utf-8;-*- -;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. -;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO021 @@ -14,7 +14,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -263,7 +263,7 @@ system, including many technical ones. Examples: ("\\v{G}" ?Ǧ) ("\\vG" ?Ǧ) ("\\v{g}" ?ǧ) ("\\vg" ?ǧ) ("\\v{K}" ?Ǩ) ("\\vK" ?Ǩ) - ("\\v{k}" ?k) ("\\vk" ?k) + ("\\v{k}" ?Ç©) ("\\vk" ?Ç©) ("\\v{\\j}" ?ǰ) ("\\vj" ?ǰ) ("\\'{G}" ?Ç´) ("\\'G" ?Ç´) diff --git a/leim/quail/latin-post.el b/leim/quail/latin-post.el index 5140348e7cc..e461151659a 100644 --- a/leim/quail/latin-post.el +++ b/leim/quail/latin-post.el @@ -1,9 +1,9 @@ ;;; latin-post.el --- Quail packages for inputting various European characters -*-coding: iso-2022-7bit;-*- -;; Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 +;; 2006, 2007, 2008 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO021 @@ -13,7 +13,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -1253,7 +1253,7 @@ Doubling the postfix separates the letter and postfix: e.g. aee -> ae (quail-define-package "scandinavian-postfix" "Latin-1" "SC<" t "Scandinavian input method with postfix modifiers -Supported languages are Swidish, Norwegian, Danish, and Finnish. +Supported languages are Swedish, Norwegian, Danish, and Finnish. ae -> ,Af(B oe -> ,Ax(B diff --git a/leim/quail/latin-pre.el b/leim/quail/latin-pre.el index 76c2bc7937e..199e387b353 100644 --- a/leim/quail/latin-pre.el +++ b/leim/quail/latin-pre.el @@ -1,10 +1,10 @@ ;;; latin-pre.el --- Quail packages for inputting various European characters -*-coding: iso-2022-7bit;-*- ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 +;; 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 +;; 2006, 2007, 2008 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO021 @@ -14,7 +14,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/leim/quail/lrt.el b/leim/quail/lrt.el index 5eeec0b8ab3..c24f9574ef9 100644 --- a/leim/quail/lrt.el +++ b/leim/quail/lrt.el @@ -1,9 +1,9 @@ ;;; lrt.el --- Quail package for inputting Lao characters by LRT method -*-coding: iso-2022-7bit;-*- -;; Copyright (C) 1998, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1998, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 +;; 2006, 2007, 2008 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO021 @@ -13,7 +13,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/leim/quail/py-punct.el b/leim/quail/py-punct.el index 4e271c9bf4d..cdba6addf09 100644 --- a/leim/quail/py-punct.el +++ b/leim/quail/py-punct.el @@ -1,9 +1,9 @@ ;;; py-punct.el --- Quail packages for Chinese (pinyin + extra symbols) -*-coding: iso-2022-7bit;-*- -;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 +;; 2006, 2007, 2008 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO021 @@ -15,7 +15,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/leim/quail/pypunct-b5.el b/leim/quail/pypunct-b5.el index 9aa7257b824..81ef67d266b 100644 --- a/leim/quail/pypunct-b5.el +++ b/leim/quail/pypunct-b5.el @@ -1,7 +1,7 @@ ;;; pypunct-b5.el --- Quail packages for Chinese (pinyin + extra symbols) ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 +;; 2006, 2007, 2008 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO021 @@ -13,7 +13,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/leim/quail/rfc1345.el b/leim/quail/rfc1345.el index 7609a625d5c713e05a3b36c8d79987a7f2d77815..e80160875d0234582551a9e47a5cd931f26ccf36 100644 GIT binary patch delta 35 rcmdn;gK^gn#tH4*ItoSx1{Pe_)(Q%f3z_9Nu9jeAG~RrKv7ib7-sTI6 delta 19 bcmdn>gK^6b#tH2kdu @@ -10,7 +10,7 @@ ;; This file is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; This file is distributed in the hope that it will be useful, diff --git a/leim/quail/sisheng.el b/leim/quail/sisheng.el index 0db36cb27e2..53386f6d945 100644 --- a/leim/quail/sisheng.el +++ b/leim/quail/sisheng.el @@ -1,6 +1,6 @@ ;;; sisheng.el --- sisheng input method for Chinese pinyin transliteration -;; Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Werner LEMBERG @@ -8,7 +8,7 @@ ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; This program is distributed in the hope that it will be useful, diff --git a/leim/quail/slovak.el b/leim/quail/slovak.el index 9a32e52b710..c769a3959fa 100644 --- a/leim/quail/slovak.el +++ b/leim/quail/slovak.el @@ -1,6 +1,6 @@ ;;; slovak.el --- Quail package for inputting Slovak -*-coding: iso-2022-7bit;-*- -;; Copyright (C) 1998, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1998, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Authors: Tibor ,B)(Bimko @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/leim/quail/symbol-ksc.el b/leim/quail/symbol-ksc.el index ebaeff37162..4f62fe3a582 100644 --- a/leim/quail/symbol-ksc.el +++ b/leim/quail/symbol-ksc.el @@ -1,9 +1,9 @@ ;;; symbol-ksc.el --- Quail-package for Korean Symbol (KSC5601) -;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 +;; 2006, 2007, 2008 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO021 @@ -13,7 +13,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/leim/quail/thai.el b/leim/quail/thai.el index 2d25a935425..5e86d920d5f 100644 --- a/leim/quail/thai.el +++ b/leim/quail/thai.el @@ -1,7 +1,7 @@ ;;; thai.el --- Quail package for inputting Thai characters ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 +;; 2005, 2006, 2007, 2008 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO021 @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/leim/quail/tibetan.el b/leim/quail/tibetan.el index 97bab8d93d3..e1c746fa344 100644 --- a/leim/quail/tibetan.el +++ b/leim/quail/tibetan.el @@ -1,9 +1,9 @@ ;;; tibetan.el --- Quail package for inputting Tibetan characters -;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 +;; 2006, 2007, 2008 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO021 @@ -13,7 +13,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/leim/quail/uni-input.el b/leim/quail/uni-input.el index bf91d2ecff8..dcafe6fb02c 100644 --- a/leim/quail/uni-input.el +++ b/leim/quail/uni-input.el @@ -1,8 +1,8 @@ ;;; uni-input.el --- Hex Unicode input method -;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. -;; Copyright (C) 2004, 2005, 2006, 2007 +;; Copyright (C) 2004, 2005, 2006, 2007, 2008 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO021 @@ -13,7 +13,7 @@ ;; This file is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; This file is distributed in the hope that it will be useful, diff --git a/leim/quail/viqr.el b/leim/quail/viqr.el index bae7815fa80..8d056498b5d 100644 --- a/leim/quail/viqr.el +++ b/leim/quail/viqr.el @@ -1,7 +1,7 @@ ;;; viqr.el --- Quail packages for inputting Vietnamese with VIQR system -*-coding: iso-2022-7bit;-*- ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 +;; 2006, 2007, 2008 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO021 @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/leim/quail/vntelex.el b/leim/quail/vntelex.el index 61cf7650304..10b974bfb65 100644 --- a/leim/quail/vntelex.el +++ b/leim/quail/vntelex.el @@ -1,6 +1,6 @@ ;;; vntelex.el --- Quail package for Vietnamese by Telex method -;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Author: Werner Lemberg @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/leim/quail/welsh.el b/leim/quail/welsh.el index af97d267057..fa72bc4f774 100644 --- a/leim/quail/welsh.el +++ b/leim/quail/welsh.el @@ -1,6 +1,6 @@ ;;; welsh.el --- Quail package for inputting Welsh characters -*-coding: iso-2022-7bit;-*- -;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Author: Dave Love @@ -10,7 +10,7 @@ ;; This file is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; This file is distributed in the hope that it will be useful, diff --git a/lib-src/COPYING b/lib-src/COPYING index d511905c164..94a9ed024d3 100644 --- a/lib-src/COPYING +++ b/lib-src/COPYING @@ -1,285 +1,626 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. - Preamble + Preamble - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of this License. - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it @@ -287,15 +628,15 @@ free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least +state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) - This program is free software; you can redistribute it and/or modify + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or + the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -303,37 +644,31 @@ the "copyright" line and a pointer to where the full notice is found. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + You should have received a copy of the GNU General Public License + along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 262baf252a4..c27691a7597 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,90 @@ +2008-03-26 Chong Yidong + + * Version 22.2 released. + +2008-02-27 Yuri Shtil (tiny change) + + * etags.c (Perl_functions): Fix call to skip_spaces. + +2008-01-22 Chong Yidong + + * pop.c (pop_stat, pop_last): Fix last fix. + +2008-01-10 Chong Yidong + + * pop.c (pop_stat, pop_last): Check validity of string-to-integer + conversion. Mistakes spotted by Nico Golde. + +2008-01-04 Glenn Morris + + * ebrowse.c (version): Just use current year for short copyright; + update to 2008. + + * etags.c (print_version): + * rcs2log (Copyright): Update copyright to 2008. + +2007-11-22 Francesco Potort,Al(B + + * etags.c (default_C_help) [CTAGS]: differentiate the help string, + as the defaults in ctags are different from etags. + (default_C_help, Cplusplus_help, PHP_help, print_help): + Remove text saying --members is the default: not true in Emacs 22. + +2007-11-15 Francesco Potort,Al(B + + * etags.c: (C_entries): In case '}' decrement bracelev before + testing it. + +2007-11-15 Masatake YAMATO + + * etags.c (C_entries): In case '}', set fvdef to fvnone + unconditioned to (!ignoreindent && lp == newlb.buffer + 1). + +2007-11-15 Francesco Potort,Al(B + + * etags.c: (C_entries): Reset the fvdef machine when out of function. + (C_entries): Parse start of C comment as a space == end of token. + This is not necessary for C++ comment, already parsed as newline. + +2007-10-26 Juanma Barranquero + + * emacsclient.c: Add a wrapper for getenv so it also checks the + registry on Windows. Suggestion and algorithm by Eli Zaretskii. + Code partially based on w32_get_resource and init_environment (w32.c). + (xmalloc): New function by K,Aa(Broly L$,1 q(Brentey (backported from the trunk). + (quote_file_name): Use it. + (egetenv): New wrapper for getenv. + (get_current_dir_name, decode_options, get_server_config) + (set_local_socket, set_socket, main): Use egetenv, not getenv. + (w32_get_resource, w32_getenv) [WINDOWSNT]: New functions. + +2007-10-25 Jason Rumney + + * emacsclient.c (sock_err_message): New function. + (set_tcp_socket): Use it. + +2007-09-27 Jason Rumney + + * makefile.w32-in (emacsclient, emacsclientw): Link to COMCTL32. + + * emacsclient.c (w32_window_app): Init common controls when windowed. + +2007-08-25 Eli Zaretskii + + * Makefile.in (rcs2log, rcs-checkin, grep-changelog, vcdiff): + Prepend "-" to the command, in case srcdir=. and file is copied + into itself. + +2007-07-25 Glenn Morris + + * Relicense all FSF files to GPLv3 or later. + + * COPYING: Switch to GPLv3. + +2007-07-20 Eli Zaretskii + + * makefile.w32-in (clean): Don't delete *~. + 2007-06-02 Chong Yidong * Version 22.1 released. @@ -6223,13 +6310,13 @@ Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. + 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lib-src/Makefile.in b/lib-src/Makefile.in index bef8f1b9c29..cb862625249 100644 --- a/lib-src/Makefile.in +++ b/lib-src/Makefile.in @@ -1,12 +1,12 @@ # Makefile for lib-src subdirectory in GNU Emacs. # Copyright (C) 1985, 1987, 1988, 1993, 1994, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007 Free Software Foundation, Inc. +# 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This file is part of GNU Emacs. # GNU Emacs is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) +# the Free Software Foundation; either version 3, or (at your option) # any later version. # GNU Emacs is distributed in the hope that it will be useful, @@ -268,18 +268,21 @@ BASE_CFLAGS = C_SWITCH_SYSTEM C_SWITCH_MACHINE -DHAVE_CONFIG_H \ all: ${DONT_INSTALL} ${UTILITIES} ${INSTALLABLES} ${SCRIPTS} ${INSTALLABLE_SCRIPTS} /* These targets copy the scripts into the build directory -so that they can be run from there in an uninstalled Emacs. */ +so that they can be run from there in an uninstalled Emacs. +The "-" is prepended because some versions of cp barf when +srcdir is the current directory, and thus the file will be +copied into itself. */ rcs2log: $(srcdir)/rcs2log - cp -p $(srcdir)/rcs2log rcs2log + -cp -p $(srcdir)/rcs2log rcs2log rcs-checkin: $(srcdir)/rcs-checkin - cp -p $(srcdir)/rcs-checkin rcs-checkin + -cp -p $(srcdir)/rcs-checkin rcs-checkin grep-changelog: $(srcdir)/grep-changelog - cp -p $(srcdir)/grep-changelog grep-changelog + -cp -p $(srcdir)/grep-changelog grep-changelog vcdiff: $(srcdir)/vcdiff - cp -p $(srcdir)/vcdiff vcdiff + -cp -p $(srcdir)/vcdiff vcdiff #ifdef MOVEMAIL_NEEDS_BLESSING blessmail: diff --git a/lib-src/cvtmail.c b/lib-src/cvtmail.c index f82f877923e..52ead298958 100644 --- a/lib-src/cvtmail.c +++ b/lib-src/cvtmail.c @@ -1,11 +1,11 @@ /* Copyright (C) 1985, 1994, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lib-src/digest-doc.c b/lib-src/digest-doc.c index 16d386f5b4e..ec6e4372ed0 100644 --- a/lib-src/digest-doc.c +++ b/lib-src/digest-doc.c @@ -2,13 +2,13 @@ standard output a file of nroff output containing the doc strings. Copyright (C) 1987, 1994, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lib-src/ebrowse.c b/lib-src/ebrowse.c index b1348f8e841..14a0aa9473d 100644 --- a/lib-src/ebrowse.c +++ b/lib-src/ebrowse.c @@ -1,13 +1,14 @@ /* ebrowse.c --- parsing files for the ebrowse C++ browser Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, - 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. + 2002, 2003, 2004, 2005, 2006, 2007, 2008 + Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, @@ -3691,7 +3692,7 @@ void version () { printf ("ebrowse %s\n", VERSION); - puts ("Copyright (C) 1992-2007 Free Software Foundation, Inc."); + puts ("Copyright (C) 2008 Free Software Foundation, Inc."); puts ("This program is distributed under the same terms as Emacs."); exit (EXIT_SUCCESS); } diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c index ea1e6cd7af8..e2db67a4a84 100644 --- a/lib-src/emacsclient.c +++ b/lib-src/emacsclient.c @@ -1,12 +1,12 @@ /* Client process that communicates with GNU Emacs acting as server. Copyright (C) 1986, 1987, 1994, 1999, 2000, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, @@ -35,6 +35,7 @@ Boston, MA 02110-1301, USA. */ # include # include # include +# include # define NO_SOCKETS_IN_FILE_SYSTEM @@ -80,6 +81,13 @@ Boston, MA 02110-1301, USA. */ char *getenv (), *getwd (); char *(getcwd) (); +#ifdef WINDOWSNT +char *w32_getenv (); +#define egetenv(VAR) w32_getenv(VAR) +#else +#define egetenv(VAR) getenv(VAR) +#endif + #ifndef VERSION #define VERSION "unspecified" #endif @@ -149,9 +157,111 @@ struct option longopts[] = { 0, 0, 0, 0 } }; + +/* Like malloc but get fatal error if memory is exhausted. */ + +long * +xmalloc (size) + unsigned int size; +{ + long *result = (long *) malloc (size); + if (result == NULL) + { + perror ("malloc"); + exit (EXIT_FAILURE); + } + return result; +} + /* Message functions. */ #ifdef WINDOWSNT + +#define REG_ROOT "SOFTWARE\\GNU\\Emacs" + +/* Retrieve an environment variable from the Emacs subkeys of the registry. + Return NULL if the variable was not found, or it was empty. + This code is based on w32_get_resource (w32.c). */ +char * +w32_get_resource (predefined, key, type) + HKEY predefined; + char *key; + LPDWORD type; +{ + HKEY hrootkey = NULL; + char *result = NULL; + DWORD cbData; + + if (RegOpenKeyEx (predefined, REG_ROOT, 0, KEY_READ, &hrootkey) == ERROR_SUCCESS) + { + if (RegQueryValueEx (hrootkey, key, NULL, NULL, NULL, &cbData) == ERROR_SUCCESS) + { + result = (char *) xmalloc (cbData); + + if ((RegQueryValueEx (hrootkey, key, NULL, type, result, &cbData) != ERROR_SUCCESS) || + (*result == 0)) + { + free (result); + result = NULL; + } + } + + RegCloseKey (hrootkey); + } + + return result; +} + +/* + getenv wrapper for Windows + + This is needed to duplicate Emacs's behavior, which is to look for enviroment + variables in the registry if they don't appear in the environment. +*/ +char * +w32_getenv (envvar) + char *envvar; +{ + char *value; + DWORD dwType; + + if (value = getenv (envvar)) + /* Found in the environment. */ + return value; + + if (! (value = w32_get_resource (HKEY_CURRENT_USER, envvar, &dwType)) && + ! (value = w32_get_resource (HKEY_LOCAL_MACHINE, envvar, &dwType))) + /* Not found in the registry. */ + return NULL; + + if (dwType == REG_SZ) + /* Registry; no need to expand. */ + return value; + + if (dwType == REG_EXPAND_SZ) + { + DWORD size; + + if (size = ExpandEnvironmentStrings (value, NULL, 0)) + { + char *buffer = (char *) xmalloc (size); + if (ExpandEnvironmentStrings (value, buffer, size)) + { + /* Found and expanded. */ + free (value); + return buffer; + } + + /* Error expanding. */ + free (buffer); + } + } + + /* Not the right type, or not correctly expanded. */ + free (value); + return NULL; +} + int w32_window_app () { @@ -159,9 +269,13 @@ w32_window_app () char szTitle[MAX_PATH]; if (window_app < 0) - /* Checking for STDOUT does not work; it's a valid handle also in - nonconsole apps. Testing for the console title seems to work. */ - window_app = (GetConsoleTitleA (szTitle, MAX_PATH) == 0); + { + /* Checking for STDOUT does not work; it's a valid handle also in + nonconsole apps. Testing for the console title seems to work. */ + window_app = (GetConsoleTitleA (szTitle, MAX_PATH) == 0); + if (window_app) + InitCommonControls(); + } return window_app; } @@ -203,7 +317,7 @@ decode_options (argc, argv) int argc; char **argv; { - alternate_editor = getenv ("ALTERNATE_EDITOR"); + alternate_editor = egetenv ("ALTERNATE_EDITOR"); while (1) { @@ -390,6 +504,29 @@ extern int errno; char send_buffer[SEND_BUFFER_SIZE + 1]; int sblen = 0; /* Fill pointer for the send buffer. */ +/* On Windows, the socket library was historically separate from the standard + C library, so errors are handled differently. */ +void +sock_err_message (function_name) + char *function_name; +{ +#ifdef WINDOWSNT + char* msg = NULL; + + FormatMessage (FORMAT_MESSAGE_FROM_SYSTEM + | FORMAT_MESSAGE_ALLOCATE_BUFFER + | FORMAT_MESSAGE_ARGUMENT_ARRAY, + NULL, WSAGetLastError (), 0, (LPTSTR)&msg, 0, NULL); + + message (TRUE, "%s: %s: %s\n", progname, function_name, msg); + + LocalFree (msg); +#else + message (TRUE, "%s: %s: %s\n", progname, function_name, strerror (errno)); +#endif +} + + /* Let's send the data to Emacs when either - the data ends in "\n", or - the buffer is full (but this shouldn't happen) @@ -437,7 +574,7 @@ quote_file_name (s, name) HSOCKET s; char *name; { - char *copy = (char *) malloc (strlen (name) * 2 + 1); + char *copy = (char *) xmalloc (strlen (name) * 2 + 1); char *p, *q; p = name; @@ -570,7 +707,7 @@ get_server_config (server, authentication) config = fopen (server_file, "rb"); else { - char *home = getenv ("HOME"); + char *home = egetenv ("HOME"); if (home) { @@ -579,7 +716,7 @@ get_server_config (server, authentication) config = fopen (path, "rb"); } #ifdef WINDOWSNT - if (!config && (home = getenv ("APPDATA"))) + if (!config && (home = egetenv ("APPDATA"))) { char *path = alloca (32 + strlen (home) + strlen (server_file)); sprintf (path, "%s/.emacs.d/server/%s", home, server_file); @@ -641,7 +778,7 @@ set_tcp_socket () */ if ((s = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) { - message (TRUE, "%s: socket: %s\n", progname, strerror (errno)); + sock_err_message ("socket"); return INVALID_SOCKET; } @@ -650,7 +787,7 @@ set_tcp_socket () */ if (connect (s, (struct sockaddr *) &server, sizeof server) < 0) { - message (TRUE, "%s: connect: %s\n", progname, strerror (errno)); + sock_err_message ("connect"); return INVALID_SOCKET; } @@ -747,10 +884,10 @@ set_local_socket () associated with the name. This is reminiscent of the logic that init_editfns uses to set the global Vuser_full_name. */ - char *user_name = (char *) getenv ("LOGNAME"); + char *user_name = (char *) egetenv ("LOGNAME"); if (!user_name) - user_name = (char *) getenv ("USER"); + user_name = (char *) egetenv ("USER"); if (user_name) { @@ -840,7 +977,7 @@ set_socket () /* Explicit --server-file arg or EMACS_SERVER_FILE variable. */ if (!server_file) - server_file = getenv ("EMACS_SERVER_FILE"); + server_file = egetenv ("EMACS_SERVER_FILE"); if (server_file) { diff --git a/lib-src/emacstool.c b/lib-src/emacstool.c index f04a8b3f545..40247c28a2a 100644 --- a/lib-src/emacstool.c +++ b/lib-src/emacstool.c @@ -1,12 +1,12 @@ /* Copyright (C) 1986, 1988, 1990, 1991, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lib-src/etags.c b/lib-src/etags.c index 1d1f16ddf28..951d408ec3c 100644 --- a/lib-src/etags.c +++ b/lib-src/etags.c @@ -29,15 +29,15 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Copyright (C) 1984, 1987, 1988, 1989, 1993, 1994, 1995, 1998, 1999, - 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 + 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is not considered part of GNU Emacs. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. +the Free Software Foundation; either version 3, or (at your option) +any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -45,8 +45,9 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software Foundation, -Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +along with this program; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +Boston, MA 02110-1301, USA. */ /* NB To comply with the above BSD license, copyright information is @@ -60,10 +61,10 @@ University of California, as described above. */ /* * Authors: - * Ctags originally by Ken Arnold. - * Fortran added by Jim Kleckner. - * Ed Pelegri-Llopart added C typedefs. - * Gnu Emacs TAGS format and modifications by RMS? + * 1983 Ctags originally by Ken Arnold. + * 1984 Fortran added by Jim Kleckner. + * 1984 Ed Pelegri-Llopart added C typedefs. + * 1985 Emacs TAGS format by Richard Stallman. * 1989 Sam Kendall added C++. * 1992 Joseph B. Wells improved C and C++ parsing. * 1993 Francesco Potortì reorganised C and C++. @@ -500,7 +501,7 @@ static bool update; /* -u: update tags */ static bool vgrind_style; /* -v: create vgrind style index output */ static bool no_warnings; /* -w: suppress warnings (undocumented) */ static bool cxref_style; /* -x: create cxref style output */ -static bool cplusplus; /* .[hc] means C++, not C */ +static bool cplusplus; /* .[hc] means C++, not C (undocumented) */ static bool ignoreindent; /* -I: ignore indentation in C */ static bool packages_only; /* --packages-only: in Ada, only tag packages*/ @@ -607,20 +608,29 @@ followed by a colon, are tags."; /* Note that .c and .h can be considered C++, if the --c++ flag was - given, or if the `class' or `template' keyowrds are met inside the file. + given, or if the `class' or `template' keywords are met inside the file. That is why default_C_entries is called for these. */ static char *default_C_suffixes [] = { "c", "h", NULL }; +#if CTAGS /* C help for Ctags */ +static char default_C_help [] = +"In C code, any C function is a tag. Use -t to tag typedefs.\n\ +Use -T to tag definitions of `struct', `union' and `enum'.\n\ +Use -d to tag `#define' macro definitions and `enum' constants.\n\ +Use --globals to tag global variables.\n\ +You can tag function declarations and external variables by\n\ +using `--declarations', and struct members by using `--members'."; +#else /* C help for Etags */ static char default_C_help [] = "In C code, any C function or typedef is a tag, and so are\n\ definitions of `struct', `union' and `enum'. `#define' macro\n\ definitions and `enum' constants are tags unless you specify\n\ `--no-defines'. Global variables are tags unless you specify\n\ -`--no-globals' and so are struct members unless you specify\n\ -`--no-members'. Use of `--no-globals', `--no-defines' and\n\ -`--no-members' can make the tags table file much smaller.\n\ +`--no-globals'. Use of `--no-globals' and `--no-defines'\n\ +can make the tags table file much smaller.\n\ You can tag function declarations and external variables by\n\ -using `--declarations'."; +using `--declarations', and struct members by using `--members'."; +#endif /* C help for Ctags and Etags */ static char *Cplusplus_suffixes [] = { "C", "c++", "cc", "cpp", "cxx", "H", "h++", "hh", "hpp", "hxx", @@ -631,7 +641,7 @@ static char Cplusplus_help [] = "In C++ code, all the tag constructs of C code are tagged. (Use\n\ --help --lang=c --lang=c++ for full help.)\n\ In addition to C tags, member functions are also recognized. Member\n\ -variables are recognized unless you use the `--no-members' option.\n\ +variables are also recognized if you use the `--members' option.\n\ Tags for variables and functions in classes are named `CLASS::VARIABLE'\n\ and `CLASS::FUNCTION'. `operator' definitions have tag names like\n\ `operator+'."; @@ -726,8 +736,8 @@ defined in the default package is `main::SUB'."; static char *PHP_suffixes [] = { "php", "php3", "php4", NULL }; static char PHP_help [] = -"In PHP code, tags are functions, classes and defines. Unless you use\n\ -the `--no-members' option, vars are tags too."; +"In PHP code, tags are functions, classes and defines. When using\n\ +the `--members' option, vars are tags too."; static char *plain_C_suffixes [] = { "pc", /* Pro*C file */ @@ -875,13 +885,13 @@ etags --help --lang=ada."); # define EMACS_NAME "standalone" #endif #ifndef VERSION -# define VERSION "version" +# define VERSION "17.26" #endif static void print_version () { printf ("%s (%s %s)\n", (CTAGS) ? "ctags" : "etags", EMACS_NAME, VERSION); - puts ("Copyright (C) 2007 Free Software Foundation, Inc."); + puts ("Copyright (C) 2008 Free Software Foundation, Inc."); puts ("This program is distributed under the terms in ETAGS.README"); exit (EXIT_SUCCESS); @@ -969,9 +979,8 @@ Relative ones are stored relative to the output file's directory.\n"); puts ("--no-globals\n\ Do not create tag entries for global variables in some\n\ languages. This makes the tags file smaller."); - puts ("--no-members\n\ - Do not create tag entries for members of structures\n\ - in some languages."); + puts ("--members\n\ + Create tag entries for members of structures in some languages."); puts ("-r REGEXP, --regex=REGEXP or --regex=@regexfile\n\ Make a tag for each line matching a regular expression pattern\n\ @@ -1209,8 +1218,8 @@ main (argc, argv) /* * If etags, always find typedefs and structure tags. Why not? - * Also default to find macro constants, enum constants, struct - * members and global variables. + * Also default to find macro constants, enum constants and + * global variables. */ if (!CTAGS) { @@ -1467,6 +1476,7 @@ main (argc, argv) exit (EXIT_SUCCESS); } + /* From here on, we are in (CTAGS && !cxref_style) */ if (update) { char cmd[BUFSIZ]; @@ -2852,7 +2862,7 @@ static void make_C_tag __P((bool)); * function or variable, or corresponds to a typedef, or * is a struct/union/enum tag, or #define, or an enum constant. * - * *IS_FUNC gets TRUE iff the token is a function or #define macro + * *IS_FUNC gets TRUE if the token is a function or #define macro * with args. C_EXTP points to which language we are looking at. * * Globals @@ -2975,11 +2985,6 @@ consider_token (str, len, c, c_extp, bracelev, parlev, is_func_or_var) return TRUE; } - /* - * This structdef business is NOT invoked when we are ctags and the - * file is plain C. This is because a struct tag may have the same - * name as another tag, and this loses with ctags. - */ switch (toktype) { case st_C_javastruct: @@ -3397,17 +3402,15 @@ C_entries (c_ext, inf) case '/': if (*lp == '*') { - lp++; incomm = TRUE; - continue; + lp++; + c = ' '; } else if (/* cplpl && */ *lp == '/') { c = '\0'; - break; } - else - break; + break; case '%': if ((c_ext & YACC) && *lp == '%') { @@ -3949,7 +3952,7 @@ C_entries (c_ext, inf) make_C_tag (FALSE); /* a struct or enum */ break; } - bracelev++; + bracelev += 1; break; case '*': if (definedef != dnone) @@ -3963,17 +3966,21 @@ C_entries (c_ext, inf) case '}': if (definedef != dnone) break; + bracelev -= 1; if (!ignoreindent && lp == newlb.buffer + 1) { if (bracelev != 0) - token.valid = FALSE; + token.valid = FALSE; /* unexpected value, token unreliable */ bracelev = 0; /* reset brace level if first column */ parlev = 0; /* also reset paren level, just in case... */ } - else if (bracelev > 0) - bracelev--; - else + else if (bracelev < 0) + { token.valid = FALSE; /* something gone amiss, token unreliable */ + bracelev = 0; + } + if (bracelev == 0 && fvdef == vignore) + fvdef = fvnone; /* end of function */ popclass_above (bracelev); structdef = snone; /* Only if typdef == tinbody is typdefbracelev significant. */ @@ -4509,7 +4516,7 @@ Perl_functions (inf) LOOP_ON_INPUT_LINES (inf, lb, cp) { - skip_spaces(cp); + cp = skip_spaces (cp); if (LOOKING_AT (cp, "package")) { @@ -4768,7 +4775,7 @@ Pascal_functions (inf) int save_lineno, namelen, taglen; char c, *name; - bool /* each of these flags is TRUE iff: */ + bool /* each of these flags is TRUE if: */ incomment, /* point is inside a comment */ inquote, /* point is inside '..' string */ get_tagname, /* point is after PROCEDURE/FUNCTION diff --git a/lib-src/fakemail.c b/lib-src/fakemail.c index e35c0f8a072..10a9cdb20ea 100644 --- a/lib-src/fakemail.c +++ b/lib-src/fakemail.c @@ -1,12 +1,12 @@ /* sendmail-like interface to /bin/mail for system V, Copyright (C) 1985, 1994, 1999, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lib-src/getopt.c b/lib-src/getopt.c index b6d6b881de7..587c2e0f618 100644 --- a/lib-src/getopt.c +++ b/lib-src/getopt.c @@ -9,7 +9,7 @@ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, diff --git a/lib-src/getopt1.c b/lib-src/getopt1.c index c2bec4f8e9a..25f616250c1 100644 --- a/lib-src/getopt1.c +++ b/lib-src/getopt1.c @@ -5,7 +5,7 @@ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, diff --git a/lib-src/getopt_.h b/lib-src/getopt_.h index 377c4837548..7cccef3eeea 100644 --- a/lib-src/getopt_.h +++ b/lib-src/getopt_.h @@ -5,7 +5,7 @@ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, diff --git a/lib-src/getopt_int.h b/lib-src/getopt_int.h index 25df3bbcfdc..049f4762900 100644 --- a/lib-src/getopt_int.h +++ b/lib-src/getopt_int.h @@ -5,7 +5,7 @@ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, diff --git a/lib-src/gettext.h b/lib-src/gettext.h index ed329003843..4a5941f86dc 100644 --- a/lib-src/gettext.h +++ b/lib-src/gettext.h @@ -4,7 +4,7 @@ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, diff --git a/lib-src/grep-changelog b/lib-src/grep-changelog index d2e9ecfd7ee..c4de805db05 100755 --- a/lib-src/grep-changelog +++ b/lib-src/grep-changelog @@ -1,13 +1,13 @@ #! /usr/bin/perl # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007 Free Software Foundation, Inc. +# 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # # This file is part of GNU Emacs. # # GNU Emacs is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) +# the Free Software Foundation; either version 3, or (at your option) # any later version. # # GNU Emacs is distributed in the hope that it will be useful, diff --git a/lib-src/hexl.c b/lib-src/hexl.c index 7cabdc95a66..95a7f82e1c4 100644 --- a/lib-src/hexl.c +++ b/lib-src/hexl.c @@ -1,13 +1,13 @@ /* Convert files for Emacs Hexl mode. Copyright (C) 1989, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. + 2006, 2007, 2008 Free Software Foundation, Inc. This file is not considered part of GNU Emacs. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. +the Free Software Foundation; either version 3, or (at your option) +any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -15,8 +15,9 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software Foundation, -Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +along with this program; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H #include diff --git a/lib-src/make-docfile.c b/lib-src/make-docfile.c index d76bdd527cf..1564aca5bbe 100644 --- a/lib-src/make-docfile.c +++ b/lib-src/make-docfile.c @@ -1,12 +1,13 @@ /* Generate doc-string file for GNU Emacs from source files. Copyright (C) 1985, 1986, 1992, 1993, 1994, 1997, 1999, 2000, 2001, - 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. + 2002, 2003, 2004, 2005, 2006, 2007, 2008 + Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lib-src/makefile.w32-in b/lib-src/makefile.w32-in index 5face04b081..a8e478875dc 100644 --- a/lib-src/makefile.w32-in +++ b/lib-src/makefile.w32-in @@ -1,12 +1,12 @@ # -*- Makefile -*- for GNU Emacs on the Microsoft W32 API. # Copyright (C) 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007 Free Software Foundation, Inc. +# 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # # This file is part of GNU Emacs. # # GNU Emacs is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) +# the Free Software Foundation; either version 3, or (at your option) # any later version. # # GNU Emacs is distributed in the hope that it will be useful, @@ -24,7 +24,7 @@ ALL = make-docfile hexl ctags etags movemail ebrowse sorted-doc digest-doc emacs .PHONY: $(ALL) -VERSION = 22.1 +VERSION = 22.2 LOCAL_FLAGS = -DWINDOWSNT -DDOS_NT -DSTDC_HEADERS=1 -DNO_LDAV=1 \ -DNO_ARCHIVES=1 -DHAVE_CONFIG_H=1 -I../nt/inc \ @@ -82,11 +82,11 @@ $(TRES): ../nt/emacs.rc $(BLD)/emacsclient.exe: $(ECLIENTOBJS) # put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib - $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(ECLIENTOBJS) $(WSOCK32) $(USER32) $(LIBS) + $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(ECLIENTOBJS) $(WSOCK32) $(USER32) $(COMCTL32) $(LIBS) $(BLD)/emacsclientw.exe: $(ECLIENTOBJS) $(TRES) # put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib - $(LINK) $(LINK_OUT)$@ $(TRES) -mwindows $(LINK_FLAGS) $(ECLIENTOBJS) $(WSOCK32) $(USER32) $(LIBS) + $(LINK) $(LINK_OUT)$@ $(TRES) -mwindows $(LINK_FLAGS) $(ECLIENTOBJS) $(WSOCK32) $(USER32) $(COMCTL32) $(LIBS) # emacsclient.$(O) depends on makefile.w32-in because makefile.w32-in # can be edited to define VERSION string, which is part of ECLIENT_CFLAGS. @@ -324,8 +324,10 @@ install: $(INSTALL_FILES) # # Maintenance # +# We used to delete *~ here, but that might inadvertently remove +# precious files if it happens to match their short 8+3 aliases. clean: - - $(DEL) *~ DOC* $(COMPILER_TEMP_FILES) + - $(DEL) DOC* $(COMPILER_TEMP_FILES) - $(DEL) ctags.c - $(DEL) getopt.h - $(DEL_TREE) $(OBJDIR) diff --git a/lib-src/movemail.c b/lib-src/movemail.c index 84d4f949b2f..8ccf6ce554a 100644 --- a/lib-src/movemail.c +++ b/lib-src/movemail.c @@ -1,13 +1,13 @@ /* movemail foo bar -- move file foo to file bar, locking file foo the way /bin/mail respects. Copyright (C) 1986, 1992, 1993, 1994, 1996, 1999, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, @@ -702,7 +702,7 @@ char Errmsg[200]; /* POP errors, at least, can exceed the original length of 80. */ /* - * The full legal syntax for a POP mailbox specification for movemail + * The full valid syntax for a POP mailbox specification for movemail * is "po:username:hostname". The ":hostname" is optional; if it is * omitted, the MAILHOST environment variable will be consulted. Note * that by the time popmail() is called the "po:" has been stripped diff --git a/lib-src/ntlib.c b/lib-src/ntlib.c index 5f6c12abceb..67533894ace 100644 --- a/lib-src/ntlib.c +++ b/lib-src/ntlib.c @@ -1,12 +1,12 @@ /* Utility and Unix shadow routines for GNU Emacs support programs on NT. Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. + 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lib-src/ntlib.h b/lib-src/ntlib.h index a5655519fe1..8266b6f3a62 100644 --- a/lib-src/ntlib.h +++ b/lib-src/ntlib.h @@ -1,12 +1,12 @@ /* Utility and Unix shadow routines for GNU Emacs support programs on NT. Copyright (C) 1994, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. + 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 2, or (at your option) any later + Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, but WITHOUT diff --git a/lib-src/pop.c b/lib-src/pop.c index a829607faa5..7de5e17e20d 100644 --- a/lib-src/pop.c +++ b/lib-src/pop.c @@ -1,13 +1,13 @@ /* pop.c: client routines for talking to a POP3-protocol post-office server Copyright (C) 1991, 1993, 1996, 1997, 1999, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Written by Jonathan Kamens, jik@security.ov.com. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, @@ -352,6 +352,7 @@ pop_stat (server, count, size) int *size; { char *fromserver; + char *end_ptr; if (server->in_multi) { @@ -377,18 +378,26 @@ pop_stat (server, count, size) return (-1); } - *count = atoi (&fromserver[4]); - - fromserver = index (&fromserver[4], ' '); - if (! fromserver) + errno = 0; + *count = strtol (&fromserver[4], &end_ptr, 10); + /* Check validity of string-to-integer conversion. */ + if (fromserver + 4 == end_ptr || *end_ptr != ' ' || errno) { - strcpy (pop_error, - "Badly formatted response from server in pop_stat"); + strcpy (pop_error, "Unexpected response from POP server in pop_stat"); pop_trash (server); return (-1); } - *size = atoi (fromserver + 1); + fromserver = end_ptr; + + errno = 0; + *size = strtol (fromserver + 1, &end_ptr, 10); + if (fromserver + 1 == end_ptr || errno) + { + strcpy (pop_error, "Unexpected response from POP server in pop_stat"); + pop_trash (server); + return (-1); + } return (0); } @@ -913,7 +922,17 @@ pop_last (server) } else { - return (atoi (&fromserver[4])); + char *end_ptr; + int count; + errno = 0; + count = strtol (&fromserver[4], &end_ptr, 10); + if (fromserver + 4 == end_ptr || errno) + { + strcpy (pop_error, "Unexpected response from server in pop_last"); + pop_trash (server); + return (-1); + } + return count; } } @@ -1557,7 +1576,7 @@ pop_close (server) * Function: pop_trash * * Purpose: Like pop_close or pop_quit, but doesn't deallocate the - * memory associated with the server. It is legal to call + * memory associated with the server. It is valid to call * pop_close or pop_quit after this function has been called. */ static void diff --git a/lib-src/pop.h b/lib-src/pop.h index 664fb26f7db..24f9159261d 100644 --- a/lib-src/pop.h +++ b/lib-src/pop.h @@ -1,13 +1,13 @@ /* pop.h: Header file for the "pop.c" client POP3 protocol. Copyright (C) 1991, 1993, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Written by Jonathan Kamens, jik@security.ov.com. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lib-src/profile.c b/lib-src/profile.c index 1174666da78..ffcf9e2cff3 100644 --- a/lib-src/profile.c +++ b/lib-src/profile.c @@ -1,6 +1,6 @@ /* profile.c --- generate periodic events for profiling of Emacs Lisp code. Copyright (C) 1992, 1994, 1999, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Author: Boaz Ben-Zvi @@ -8,7 +8,7 @@ This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lib-src/rcs-checkin b/lib-src/rcs-checkin index 1ec783934e6..958b371b24c 100755 --- a/lib-src/rcs-checkin +++ b/lib-src/rcs-checkin @@ -3,13 +3,13 @@ # This script accepts any number of file arguments and checks them into RCS. # Copyright (C) 1993, 1994, 1995, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007 Free Software Foundation, Inc. +# 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # # This file is part of GNU Emacs. # # GNU Emacs is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) +# the Free Software Foundation; either version 3, or (at your option) # any later version. # # GNU Emacs is distributed in the hope that it will be useful, diff --git a/lib-src/rcs2log b/lib-src/rcs2log index 371a52de66c..43fa9d555c3 100755 --- a/lib-src/rcs2log +++ b/lib-src/rcs2log @@ -55,11 +55,11 @@ Report bugs to .' Id='$Id$' # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2001, 2002, 2003, -# 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +# 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) +# the Free Software Foundation; either version 3, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, @@ -72,7 +72,7 @@ Id='$Id$' # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, # Boston, MA 02110-1301, USA. -Copyright='Copyright (C) 2007 Free Software Foundation, Inc. +Copyright='Copyright (C) 2008 Free Software Foundation, Inc. This program comes with NO WARRANTY, to the extent permitted by law. You may redistribute copies of this program under the terms of the GNU General Public License. diff --git a/lib-src/sorted-doc.c b/lib-src/sorted-doc.c index 28f736ab843..33959aefefe 100644 --- a/lib-src/sorted-doc.c +++ b/lib-src/sorted-doc.c @@ -2,13 +2,13 @@ standard output a file of texinfo input containing the doc strings. Copyright (C) 1989, 1992, 1994, 1996, 1999, 2000, 2001, 2002, 2003, - 2004, 2005, 2006, 2007 Free Software Foundation, Inc. + 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lib-src/test-distrib.c b/lib-src/test-distrib.c index cd504c8c538..0c1a3fd8d0e 100644 --- a/lib-src/test-distrib.c +++ b/lib-src/test-distrib.c @@ -1,13 +1,13 @@ /* test-distrib.c --- testing distribution of nonprinting chars Copyright (C) 1987, 1993, 1994, 1995, 1999, 2001, 2002, 2003, - 2004, 2005, 2006, 2007 Free Software Foundation, Inc. + 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lib-src/update-game-score.c b/lib-src/update-game-score.c index 9f1c011ce79..188fa896bbd 100644 --- a/lib-src/update-game-score.c +++ b/lib-src/update-game-score.c @@ -1,11 +1,12 @@ /* update-game-score.c --- Update a score file - Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 + Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lib-src/vcdiff b/lib-src/vcdiff index 21c6e70e9d8..86b80bcdacd 100755 --- a/lib-src/vcdiff +++ b/lib-src/vcdiff @@ -4,13 +4,13 @@ # This version is more compatible with rcsdiff(1). # # Copyright (C) 1992, 1993, 1995, 1997, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007 Free Software Foundation, Inc. +# 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # # This file is part of GNU Emacs. # # GNU Emacs is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) +# the Free Software Foundation; either version 3, or (at your option) # any later version. # # GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/COPYING b/lisp/COPYING index d511905c164..94a9ed024d3 100644 --- a/lisp/COPYING +++ b/lisp/COPYING @@ -1,285 +1,626 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. - Preamble + Preamble - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of this License. - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it @@ -287,15 +628,15 @@ free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least +state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) - This program is free software; you can redistribute it and/or modify + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or + the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -303,37 +644,31 @@ the "copyright" line and a pointer to where the full notice is found. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + You should have received a copy of the GNU General Public License + along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 678bffb29b1..8d69f072533 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,3839 @@ +2008-03-26 Chong Yidong + + * Version 22.2 released. + +2008-03-25 Johan Bockg,Ae(Brd + + * info.el (Info-isearch-search): Always return point. + +2008-03-23 Andreas Schwab + + * menu-bar.el (menu-bar-showhide-fringe-ind-menu) [mixed]: Fix + radio button condition. + [box]: Likewise. + [customize]: Add radio button. + +2008-03-20 Dan Nicolaescu + + * vc-bzr.el (vc-bzr-print-log): Ensure it works when passed a + single file argument. + (vc-bzr-show-log-entry): Fix typo. + +2008-03-19 Wilson Snyder + + * progmodes/verilog-mode.el (verilog-easy-menu-filter): New + function. + (verilog-stmt-menu, verilog-menu): Add :help. + (verilog-customize, verilog-font-customize) + (electric-verilog-backward-sexp, electric-verilog-forward-sexp) + (verilog-mode): Update documentation strings to match tool tips. + (verilog-auto-search-do, verilog-auto-re-search-do) + (verilog-skip-forward-comment-or-string): Fix verilog-auto + expansion when a .* appears inside a string. + (verilog-re-search-forward, verilog-re-search-backward): Add + comment to recall how this works. + +2008-03-19 Reiner Steib + + * net/tls.el (open-tls-stream): Reindent. + +2008-03-19 Glenn Morris + + * net/tls.el: Don't require rx when compiling. + (tls-end-of-info): Rewrite without using rx. + (open-tls-stream): Use with-current-buffer. + +2008-03-18 Dan Nicolaescu + + * font-lock.el (font-lock-comment-face): Set the foreground for + the light background 8 colors case. + + * vc-bzr.el (vc-bzr-print-log): Insert a file marker. Run the log + command for each file in the list. + (vc-bzr-log-view-mode): Recognize the file marker. + (vc-bzr-show-log-entry): Make regexp match more cases. + +2008-03-18 Wilson Snyder + + * verilog-mode.el (verilog-read-decls): Fix AUTOINPUT/AUTOOUTPUT + mis-including genvars. + +2008-03-18 Stefan Monnier + + * vc-bzr.el (vc-bzr-log-view-mode, vc-bzr-annotate-command) + (vc-bzr-annotate-time, vc-bzr-annotate-extract-revision-at-line): + Revision numbers can include ".". + + * diff-mode.el (diff-end-of-hunk): Be careful not to overlook trailing + "+" lines not accounted for by counting "-" and context lines. + +2008-03-16 Juri Linkov + + * dired.el (dired-warn-writable): Rename to `dired-perm-write'. + (dired-perm-write): Rename from `dired-warn-writable'. + Change parent face from `font-lock-warning-face' to + `font-lock-comment-delimiter-face'. + (dired-warn-writable-face): Rename to `dired-perm-write-face'. + (dired-perm-write-face): Rename from `dired-warn-writable-face'. + (dired-font-lock-keywords): Replace `dired-warn-writable-face' + with `dired-perm-write-face'. + +2008-03-16 YAMAMOTO Mitsuharu + + * term/mac-win.el (mac-service-open-file): Use file URL instead of + file name string. + +2008-03-14 Stefan Monnier + + * vc-bzr.el (vc-bzr-registered): Fail if `bzr' is not installed. + (vc-bzr-annotate-command): Preserve line alignment. + (vc-bzr-annotate-time): Accept space used to preserve alignment. + +2008-03-13 Richard Stallman + + * mouse.el (mouse-yank-secondary): Nice error msg if no secondary sel. + + * emacs-lisp/advice.el (defadvice): Add usage pattern. + +2008-03-11 Chong Yidong + + * simple.el (set-mark-command): Doc fix. + +2008-03-10 Nick Roberts + + * progmodes/gdb-ui.el: Add advice about using Cygwin GDB (from a + thread in [h-e-w]). + +2008-03-08 Johan Bockg,Ae(Brd + + * subr.el (while-no-input): Don't splice BODY directly into the + `or' form. + +2008-03-06 Kim F. Storm + + * help.el (view-emacs-todo): Rename from view-todo. Change users. + (describe-gnu-project): Rename from describe-project. Change users. + Define obsolete function aliases for the old names. + +2008-03-05 Chong Yidong + + * emacs-lisp/lisp.el (parens-require-spaces): Doc fix. + Reported by Drew Adams . + +2008-03-05 Juanma Barranquero + + * iswitchb.el (iswitchb-use-faces): Doc fix. + (iswitchb-buffer-ignore, iswitchb-read-buffer): Fix typos in docstrings. + +2008-03-03 Dan Nicolaescu + + * progmodes/verilog-mode.el (verilog-highlight-grouping-keywords): + Fix typo. + (verilog-type-font-keywords): Reindent. + +2008-03-03 Michael McNamara + + * verilog-mode.el (verilog-font-grouping-keywords): Fix bug in the + grouping-keyword regular expression. + (verilog-font-lock-keywords): Allow users to toggle special + highlight of grouping-keywords. + (verilog-highlight-grouping-keywords): The toggle for special + highlighting of grouping keywords. + +2008-03-02 Juri Linkov + + * startup.el: Revert 2008-02-28 change that adds initial message + to *scratch* buffer regardless of the value of `inhibit-startup-screen'. + +2008-03-01 Dan Nicolaescu + + * textmodes/css-mode.el (css-indent-offset, css-electric-keys): + * textmodes/bibtex-style.el (bibtex-style-indent-basic): + * progmodes/verilog-mode.el (verilog-mode): + * net/socks.el (socks): + * vc-mtn.el (vc-mtn-mode-line-rewrite): Add :version. + +2008-03-01 Juanma Barranquero + + * desktop.el (desktop-read): Set `desktop-dirname' to nil before + running `desktop-not-loaded-hook' to allow modifying it. + Don't show warning message if `desktop-dirname' was modified. + +2008-03-01 Alan Mackenzie + + * progmodes/cc-mode.el (c-neutralize-syntax-in-CPP): Fix coding bug. + + * progmodes/cc-langs.el (c-before-font-lock-function): Fix bug in + doc-string, "c-old-LEN" -> "c-old-END". + +2008-02-29 Glenn Morris + + * allout.el (allout-topic-encryption-bullet) + (allout-passphrase-verifier-handling, allout-passphrase-hint-handling) + (allout-encrypt-unencrypted-on-saves): Change defcustom :version + from 22.0 to 22.1. + +2008-02-29 Juanma Barranquero + + * desktop.el (desktop-save): Save the buffer name if the + uniquified base name is empty. + +2008-02-29 Stefan Monnier + + * diff-mode.el (diff-sanity-check-hunk): Only accept an empty line if + we still expect more lines. + +2008-02-28 Juri Linkov + + * startup.el (normal-splash-screen): Add argument `concise'. + Remove unused binding `prev-buffer'. Let-bind `splash-buffer' + to the created buffer. If `concise' is non-nil, call + `display-buffer', otherwise `switch-to-buffer'. Doc fix. + (display-startup-screen): Add argument `concise' to the call to + `normal-splash-screen'. + +2008-02-28 Kim F. Storm + + * startup.el (startup-echo-area-message): Check for about-emacs. + +2008-02-28 Juri Linkov + + * startup.el: Always add initial message to *scratch* buffer if + `initial-scratch-message' is non-nil regardless of the value of + `inhibit-startup-screen'. + (inhibit-startup-screen, initial-scratch-message): Doc fix. + (command-line-1): Move code that inserts `initial-scratch-message' + up before the if-form that checks for `inhibit-startup-screen'. + Suggested by Jonathan Rockway . + +2008-02-28 Stefan Monnier + + * textmodes/fill.el (fill-comment-paragraph): Don't try to do + comment-paragraph filling if the commark doesn't match + comment-start-skip. + + * uniquify.el (uniquify-buffer-base-name): Undo last change. + +2008-02-28 Daiki Ueno + + * international/utf-7.el (utf-7-encode): Never skip the trailing - for + the `imap' variant. + +2008-02-27 Juanma Barranquero + + * uniquify.el (uniquify-buffer-base-name): If the base name is an + empty string, return nil to allow the caller to default to the + buffer name. Reported by Martin Fischer . + +2008-02-26 Jason Rumney + + * files.el (make-auto-save-file-name): Encode more characters in + non-file buffer names. Use url-encoding. + +2008-02-26 Juanma Barranquero + + * net/net-utils.el (ftp-program): Fix typo in docstring. + (ifconfig-program-options, netstat-program-options) + (arp-program-options, route-program-options, nslookup-program-options) + (ftp-program-options, smbclient-program-options) + (dns-lookup-program-options, arp, route): Doc fixes. + + * progmodes/gdb-ui.el (gdb-pc-address, gdb-source-file-list) + (gdb-cpp-define-alist-program, gdb-mouse-jump, gdb-get-buffer-create) + (gdb-set-gud-minor-mode-existing-buffers-1, gdb-debug-log): + Fix typos in docstrings. + (gdb-pending-triggers): Reflow docstring. + (gdb, gdb-init-1): Fix typos in docstrings of gud-def definitions. + +2008-02-25 Alan Mackenzie + + * progmodes/cc-mode.el (c-neutralize-syntax-in-CPP): Fix a bug on + typing "#" at EOB. + +2008-02-25 Chong Yidong + + * files.el (shell-quote-wildcard-pattern): Quote ' and " as well. + +2008-02-24 Jason Rumney + + * files.el (file-name-invalid-regexp): Fix octal/decimal confusion. + +2008-02-23 Ulrich Mueller (tiny change) + + * textmodes/bibtex.el (bibtex-convert-alien): Fix sit-for ags. + +2008-02-22 Stefan Monnier + + * dired.el (dired-mark-prompt): Don't count/display the t element. + Reported by Carsten Blaauw . + +2008-02-22 Bill Meier (tiny change) + + * progmodes/sh-script.el (sh-indent-comment): Docstring fix. + +2008-02-21 Glenn Morris + + * subr.el (sit-for): Fix obsolete form for nil second argument. + +2008-02-21 Dan Nicolaescu + + * progmodes/verilog-mode.el (eval-when-compile): Don't define + add-submenu. + (verilog-xemacs-menu): Add :keys for C-M-a, C-M-e and C-M-h. + Remove. Move contents to the only use ... + (verilog-menu): ... here. + (verilog-statement-menu): Remove. Move contents to the only use ... + (verilog-stmt-menu): ... here. + (verilog-mark-defun): Simply call mark-defun for Emacs. + (occur-pos-list): Declare for byte compiler. + (mode-popup-menu): Don't defvar. + (verilog-add-statement-menu): Remove. + (verilog-mode-hook): Don't add verilog-add-statement-menu. + (verilog-mode): Call easy-menu-add and set mode-popup-menu for XEmacs. + +2008-02-21 Michael McNamara + + * progmodes/verilog-mode.el (verilog-xemacs-menu): Remove XEmacs + conditional. + (verilog-font-grouping-keywords-face): Make the begin..end + keywords standout more than other verilog keywords. + (verilog-type-font-keywords): Move the begin..end out of this list + to facilitate making them to (potentially) stand out more. + (verilog-backward-token): Fix indent of bare always{_*}?, initial, + function & task blocks. + (verilog-behavioral-block-beg-re): Fix indent of bare always{_*}?, + initial, function & task blocks. + (verilog-forward-sexp): Handle the new "disable fork" statement of + IEEE-1800 Verilog. + (verilog-beg-block-re-ordered): Handle the new "disable fork" + statement of IEEE-1800 Verilog. + (verilog-calc-1): Handle the new "disable fork" statement of + IEEE-1800 Verilog. + (verilog-disable-fork-re): Add const to help handle the new + "disable fork" statement of IEEE-1800 Verilog. + (verilog-declaration-core-re): Add port directions by themselves, + with no qualification, as base item of a declaration. + (verilog-pretty-declarations): Add new flag to ask it to refrain + from printing to the message buffer. + (verilog-pretty-expr): Add a QUIET flag to ask it to refrain from + printing to the message buffer. Improve handling of the many + types of expression line up. + (verilog-just-one-space): Remove printing of an empty message. + (verilog-get-lineup-indent): Rework to support the better handling + of expression lineup for verilog-pretty-expr. + (verilog-auto-wire): Pass the quiet flag to verilog-pretty-expr. + +2008-02-20 Alan Mackenzie + + * progmodes/cc-mode.el (c-extend-region-for-CPP): Bug fix from + yesterday's commit. + +2008-02-20 Nick Roberts + + * progmodes/gdb-ui.el (gdb-mouse-set-clear-breakpoint): Fall back + to mouse-set-point in buffers that aren't associated with files. + + * progmodes/gud.el: Rename menu item to "Show GUD tooltips". + +2008-02-20 Glenn Morris + + * mail/rmail.el (rmail-autodetect): Add .exe extension to movemail + on Windows. + +2008-02-19 Alan Mackenzie + + Set of changes so that "obtrusive" syntactic elements in a + C/C++/ObjC preprocessor line (e.g. an unbalanced string quote or + unmatched paren) don't interact syntactically with stuff outside + the CPP line. + + * progmodes/cc-awk.el (c-awk-beyond-logical-line, c-awk-old-ByLL): + Replace c-awk-end-of-logical-line and c-awk-old-EoLL to solve an + off-by-one bug. + (c-awk-record-region-clear-NL): Replaces c-awk-before-change, with + a bit of refactoring. + (c-awk-extend-and-syntax-tablify-region): Takes some of the + functionality of c-awk-advise-fl-for-awk-region, which has been + refactored away. + + * progmodes/cc-defs.el (c-clear-char-property-with-value-function) + (c-clear-char-property-with-value): New function and macro which + remove text-properties `equal' to a supplied value. + + * progmodes/cc-engine.el: Comment about text properties amended. + + * progmodes/cc-fonts.el (c-cpp-matchers): Make it put regexp + parens around "error\\|warning". + + * progmodes/cc-langs.el (c-get-state-before-change-function) + (c-before-font-lock-function, c-anchored-cpp-prefix): + New language variables. + (c-cpp-message-directives): Handle "#warning" in C, C++ and ObjC. + + * progmodes/cc-mode.el (c-basic-common-init): C and ObjC now use + syntax-table text properties. + (c-common-init): Call language specific before/after-change + functions at mode initialisation. + (c-new-BEG, c-new-END, c-old-BOM, c-old-EOM): New variables. + (c-extend-region-for-CPP, c-neutralize-CPP-line) + (c-neutralize-syntax-in-CPP): New functions. + (c-before-change, c-after-change): Call the new language specific + change functions defined in cc-langs.el. + (c-advise-fl-for-region): New macro. + (awk-mode): Remove AWK specific stuff which has been refactored + into language independent stuff. + +2008-02-19 Stefan Monnier + + * diff-mode.el (diff-file-junk-re): New const. + (diff-beginning-of-file-and-junk): Use it. + (diff-file-kill): Make sure we were really inside a file diff. + + * diff-mode.el: Make it more robust in the presence of empty context + lines in unified hunks. + (diff-valid-unified-empty-line): New var. + (diff-unified->context, diff-sanity-check-hunk): Obey it. + (diff-end-of-hunk): Obey it. New arg `donttrustheader'. + (diff-fixup-modifs, diff-post-command-hook): Use this new arg. + (diff-hunk-header-re-unified): New const. + (diff-font-lock-keywords, diff-hunk-header-re, diff-split-hunk) + (diff-fixup-modifs, diff-unified->context, diff-next-complex-hunk) + (diff-sanity-check-hunk): Use it. + +2008-02-19 Nick Roberts + + * progmodes/gdb-ui.el (gdba): Recreate as an alias for gdb. + (gdb): (Re)set gdb-flush-pending-output to nil here... + (gdb-init-1): ...instead of here (before gdb-prompt). + +2008-02-18 Juanma Barranquero + + * progmodes/verilog-mode.el (customize): Fix typo in error message. + (verilog-mode, verilog-mode-indent, verilog-mode-actions) + (verilog-mode-auto, verilog-indent-level-module) + (verilog-minimum-comment-distance, verilog-library-flags) + (verilog-library-directories, verilog-library-files) + (verilog-auto-reset-widths, verilog-imenu-generic-expression) + (verilog-xemacs-menu, verilog-set-compile-command) + (verilog-set-compile-command, verilog-mode-syntax-table, verilog-mode) + (verilog-get-expr, verilog-strip-comments, verilog-one-line) + (verilog-lint-off, verilog-batch-auto, verilog-batch-delete-auto) + (verilog-batch-inject-auto, verilog-batch-indent) + (verilog-continued-line, verilog-type-keywords) + (verilog-read-sub-decls-sig, verilog-read-sub-decls-line) + (verilog-read-inst-pins, verilog-read-arg-pins) + (verilog-read-auto-template, verilog-read-signals, verilog-getopt-file) + (verilog-add-list-unique, verilog-symbol-detick, verilog-modi-filename) + (verilog-auto-star, verilog-auto-inst, verilog-auto-wire) + (verilog-enum-ascii, verilog-sk-begin, verilog-sk-fork) + (verilog-sk-datadef, verilog-colorize-include-files-buffer) + (verilog-mode-version, verilog-mode-release-date) + (verilog-mode-release-emacs, verilog-linter, verilog-coverage) + (verilog-simulator, verilog-compiler) + (verilog-auto-sense-defines-constant, verilog-company) + (verilog-project, verilog-mark-defun, verilog-submit-bug-report): + Fix typos in docstrings. + (verilog-set-auto-endcomments, verilog-calculate-indent) + (verilog-inject-auto, verilog-auto-arg, verilog-auto-inout-module): + Reflow docstrings. + (verilog-tab-always-indent, verilog-highlight-p1800-keywords) + (verilog-auto-star-save, verilog-auto-inst-vector, verilog-mode-hook) + (electric-verilog-forward-sexp, verilog-in-case-region-p) + (verilog-in-struct-region-p, verilog-in-generate-region-p) + (verilog-leap-to-head, verilog-current-indent-level) + (verilog-case-indent-level, verilog-cpp-keywords) + (verilog-defun-keywords, verilog-block-keywords, verilog-tf-keywords) + (verilog-case-keywords, verilog-separator-keywords, verilog-completion) + (verilog-signals-not-in, verilog-symbol-detick-text) + (verilog-modi-cache-preserve-tick, verilog-modi-cache-preserve-buffer) + (verilog-forward-close-paren, verilog-backward-open-paren) + (verilog-backward-open-bracket): Doc fixes. + + * progmodes/gud.el (gud-def, gud-last-speedbar-stackframe): Doc fixes. + (gud-symbol, gud-expansion-speedbar-buttons, gud-speedbar-buttons) + (gud-gdb-run-command-fetch-lines, gud-dbx-use-stopformat-p) + (gud-jdb-classpath, gud-jdb-find-source-using-classpath, jdb) + (gud-find-class, gdb-script-mode, gud-tooltip-event, gud-tooltip-tips): + Fix typos in docstrings. + +2008-02-17 Stefan Monnier + + * progmodes/ada-mode.el (ada-font-lock-syntactic-keywords): + Recognize ''' just like any other char-constant. + +2008-02-16 Stefan Monnier + + * vc-hooks.el (vc-find-root): Remove initial loop because it's not + careful enough. Detect the uid-change all within the main loop. + +2008-02-14 Stefan Monnier + + * textmodes/sgml-mode.el (sgml-mode): Fix comment syntax. + +2008-02-13 Stefan Monnier + + * hilit-chg.el (highlight-save-buffer-state): New macro. + (highlight-save-buffer-state, hilit-chg-set-face-on-change) + (hilit-chg-clear): Use it to preserve the modified-p flag. + (highlight-changes-rotate-faces): Don't mess with the undo-list. + +2008-02-13 Michael Albinus + + * net/ange-ftp.el (ange-ftp-cf1): Quote FILENAME. + +2008-02-12 Juri Linkov + + * startup.el (fancy-startup-screen, normal-splash-screen): + Set default-directory to command-line-default-directory. + + * desktop.el (after-init-hook): Set inhibit-startup-screen to t + after reading the desktop. + +2008-02-12 Stefan Monnier + + * font-lock.el (font-lock-set-defaults): Unset previously set variables + when needed. + +2008-02-12 Juanma Barranquero + + * uniquify.el (uniquify-buffer-base-name): New function. + Suggested by Stefan Monnier . + + * desktop.el (uniquify-managed): Don't defvar. + (desktop-buffer-info): Use `uniquify-buffer-base-name', not + `uniquify-managed'. Return also the buffer's base name. + (desktop-save): When saving the buffer info, filter out the base name, + and save it as buffer name if the buffer is managed by uniquify. + +2008-02-10 Stefan Monnier + + * diff-mode.el (diff-beginning-of-file-and-junk): If we're on the + Index: line, don't search backward for the previous one. + +2008-02-10 ,AF(Bvar Arnfj,Av(Br,Ap(B Bjarmason (tiny change) + + * net/rcirc.el (rcirc-url-regexp): Replace definition by copying + from gnus-button-url-regexp. + +2008-02-09 Eli Zaretskii + + * progmodes/compile.el (compilation-next-error): Doc fix. + (compilation-find-file): Doc fix. + +2008-02-09 Glenn Morris + + * net/net-utils.el (ipconfig-program, ipconfig-program-options): + Add obsolete aliases to the old names. + +2008-02-08 Richard Stallman + + * net/net-utils.el (ifconfig): Rename from ipconfig. + (ipconfig): Alias to ifconfig. + (ifconfig-program): Rename from ipconfig-program. + (ifconfig-program-options): Rename from ipconfig-program-options. + +2008-02-08 Glenn Morris + + * custom.el (custom-theme-set-variables): Sort symbols that are + dependencies before symbols that depend on them. + (custom-enabled-themes): Set after custom-theme-directory. + +2008-02-04 Juanma Barranquero + + * w32-vars.el (w32-system-shells): Add TCC (new name for 4NT). + +2008-02-04 Michael McNamara + + * progmodes/verilog-mode.el (verilog-declaration-core-re): + Add port directions by themselves, with no qualification, as base + item of a declaration. + (verilog-pretty-declarations): Add new flag that inhibits printing + to the message buffer. + (verilog-pretty-expr): Add new flag that inhibits printing to the + message buffer. Improve handling of the many types of expression + line up. + (verilog-just-one-space): Don't print an empty message. + (verilog-get-lineup-indent): Rework to support the better handling + of expression lineup for verilog-pretty-expr. + (verilog-auto-wire): Pass the quiet flag to verilog-pretty-expr. + (verilog-mode-version, verilog-mode-release-date): Update. + +2008-02-04 Stefan Monnier + + * subr.el (cancel-change-group): Don't move point. + +2008-02-02 Michael Albinus + + Sync with Tramp 2.0.57. + + * net/tramp.el (tramp-handle-make-auto-save-file-name) + (tramp-completion-dissect-file-name, tramp-find-executable): + Use `mapc' instead of `mapcar'. + (tramp-open-connection-setup-interactive-shell): Send only single + prompt setting commands, in order to avoid double-prompt. + + * net/tramp-vc.el (tramp-vc-do-command): Use `mapc' instead of + `mapcar'. + + * net/trampver.el: Update release number. + +2008-02-01 Chong Yidong + + * progmodes/etags.el (next-file): Improve revert message. + +2008-02-01 Juanma Barranquero + + * term/w32-win.el (image-library-alist): Prefer libpng12 to libpng13, + because the latter is in fact a 1.2.8 build distributed with GTK+ (as + of today, the most recent libpng is 1.2.24). + +2008-02-01 Thien-Thi Nguyen + + * vc.el (vc-update): Fix bug: Specify branch tip as + vc-checkout REVISION. Reported by Dan Nicolaescu. + +2008-02-01 Stefan Monnier + + * simple.el (reindent-then-newline-and-indent): Be careful about the + unusual case where indent-according-to-mode moves point. + +2008-02-01 Dan Nicolaescu + + * progmodes/verilog-mode.el (verilog-sk-prompt-msb) + (verilog-sk-module, verilog-sk-function, verilog-sk-begin) + (verilog-sk-if, verilog-sk-wire, verilog-sk-for) + (verilog-sk-state-machine): Quote all calls to + "auxiliary skeleton"s to prevent infloops. + +2008-01-31 Jason Rumney + + * w32-fns.el: Partially revert 2007-11-10 change. + +2008-01-31 Martin Rudalics + + * mail/rmail.el (rmail-highlight): Fix specification. + Reported by pod . + +2008-01-31 Jason Rumney + + * term/w32-win.el (image-library-alist): Prefer libxpm.dll. + +2008-01-30 Nick Roberts + + * progmodes/gdb-ui.el (gdb-var-set-format-regexp): New constant. + (gdb-var-set-format-handler): New function. + (gdb-var-set-format): Use it. + +2008-01-29 Alan Mackenzie + + * progmodes/cc-langs.el (c-block-stmt-1-kwds, c-block-stmt-2-kwds) + (c-simple-stmt-kwds): New Objective C keywords: @finally, @try, + @catch, @synchronized, @throw. + + * progmodes/cc-langs.el (c-specifier-key): Exclude "template" + from this regexp; part of same fix as next change to cc-engine.el. + + * progmodes/cc-engine.el (c-guess-basic-syntax, CASE 5A.5): + Anchor the "{" of a template function correctly on "template", not the + following "<". + + * progmodes/cc-defs.el (c-version): Increase to 5.31.5. + +2008-01-29 Richard Stallman + + * progmodes/etags.el (tags-query-replace): Delete unused optional args. + Doc fix. + + * files.el (hack-local-variables): Don't query about fake variables. + +2008-01-27 Nick Roberts + + * progmodes/gdb-ui.el (gdb-create-define-alist): Don't call + gdb-cpp-define-alist-program if file is nil (currently only + " *partial-output-..."). + +2008-01-27 Alan Mackenzie + + * progmodes/cc-awk.el, progmodes/cc-engine.el: Correct typos, + enhance comments. + +2008-01-27 Richard Stallman + + * allout.el: Many doc fixes. + (allout-encrypt-string): Fix error message. + +2008-01-26 Alan Mackenzie + + * progmodes/cc-vars.el (c-hanging-braces-alist): New element for + arglist-cont-nonempty. + + * progmodes/cc-cmds.el (c-brace-newlines): Determine the newlines + for a brace with syntax arglist-cont-nonempty. + + * progmodes/cc-styles.el (c-style-alist): Add elements for + arglist-cont-nonempty into 5 styles (gnu, ellemtel, linux, python, + awk). + +2008-01-26 Alan Mackenzie + + * progmodes/cc-defs.el (c-save-buffer-state): + Bind buffer-file-name and buffer-file-truename to nil, to prevent + primitives generating "buffer is read only" messages. + +2008-01-26 Eli Zaretskii + + * progmodes/etags.el (tags-query-replace): Doc fix. + +2008-01-26 Phil Sung (tiny change) + + * wdired.el (wdired-get-filename): Change `(1+ beg)' to `beg' so + that the filename end is found even when the filename is empty. + Fixes error and spurious newlines when marking files for deletion. + +2008-01-25 Juanma Barranquero + + * allout.el (allout-unload-function): New function. + +2008-01-25 Sven Joachim + + * view.el (kill-buffer-if-not-modified): Don't pass t to + buffer-modified-p. + +2008-01-25 Juanma Barranquero + + * allout.el (allout-prefix-data): Doc fix. + (allout-show-current-subtree): Reflow docstring. + (allout-use-mode-specific-leader, allout-use-hanging-indents) + (produce-allout-mode-map, allout-overlay-interior-modification-handler) + (allout-next-heading, allout-previous-heading, allout-rebullet-heading) + (allout-rebullet-topic, allout-rebullet-topic-grunt, allout-kill-topic) + (allout-copy-topic-as-kill, allout-listify-exposed) + (allout-process-exposed, allout-encrypted-key-info) + (allout-update-passphrase-mnemonic-aids) + (allout-next-topic-pending-encryption) + (allout-tests-globally-true): Fix typos in docstrings. + +2008-01-24 Stefan Monnier + + * vc.el (vc-version-diff): Make sure we shrink the right window. + +2008-01-23 Jason Rumney + + * lpr.el (printer-name): Do not set on MS Windows. + +2008-01-20 Glenn Morris + + * progmodes/python.el: Quote all calls to "auxiliary skeleton"s to + prevent infloops. + +2008-01-20 Martin Svenson (tiny change) + + * progmodes/python.el (python-imports): Default to "None". + +2008-01-19 Dan Nicolaescu + + * progmodes/sh-script.el (sh-basic-offset): + * progmodes/cc-vars.el (c-syntactic-indentation) + (c-syntactic-indentation-in-macros): Mark as safe. + +2008-01-18 Richard Stallman + + * icomplete.el (icomplete-get-keys): + Look up KEYS using all maps in proper buffer. + +2008-01-16 Alan Mackenzie + + * progmodes/cc-vars.el (c-constant-symbol): Put this defun inside an + eval-and-compile, so as to permit byte-compiling (e.g. in bootstrap). + +2008-01-16 Juanma Barranquero + + * frame.el (display-mm-height, display-mm-width): + * whitespace.el (whitespace-check-leading-whitespace) + (whitespace-check-trailing-whitespace) + (whitespace-check-spacetab-whitespace) + (whitespace-check-indent-whitespace) + (whitespace-check-ateol-whitespace): + * progmodes/ada-xref.el (ada-convert-file-name): Fix typo in docstring. + +2008-01-16 Glenn Morris + + * comint.el (comint-regexp-arg): Fix no-input case. + +2008-01-16 Ulf Jasper + + * calendar/icalendar.el (icalendar-export-file) + (icalendar-import-file): Restore significant trailing whitespace + in `interactive' prompts. + +2008-01-15 Dan Nicolaescu + + * vc-arch.el (vc-arch-delete-rej-if-obsolete): Remove the + after-save-hook so that it is not called multiple times. + + * vc-svn.el (vc-svn-resolve-when-done): Likewise. + +2008-01-15 Glenn Morris + + * diff-mode.el (diff-end-of-hunk): Revert 2008-01-08 change. + +2008-01-14 Alan Mackenzie + + * progmodes/cc-vars.el (c-constant-symbol): New function which + supersedes c-const-symbol. During a customize-.. call it enables + an element of (e.g.) c-hanging-braces alist to have its name + displayed, even when the default value of c-h-b etc. doesn't + include the elemnt. Replace uses of the old function by the new. + + * progmodes/cc-vars.el (c-hanging-braces-alist): Remove the + obscure non-working fragment ":value c-". + + * progmodes/cc-engine.el (c-guess-basic-syntax): Prevent a macro + call inside a struct being recognised as a K&R argument. + +2008-01-14 Jason Rumney + + * image.el (image-type): Use image-type-from-file-name (from trunk + 2007-05-21 Chong Yidong ). + +2008-01-12 Glenn Morris + + * woman.el (woman-parse-numeric-arg): Change handling of `==': + can be interned without a function definition. + +2008-01-12 Eli Zaretskii + + * view.el (view-file-other-window, view-file-other-frame): + Don't kill the buffer if it is modified. Doc fixes. + (kill-buffer-if-not-modified): New function. + (view-file): Don't kill the buffer if it is modified. + + * progmodes/ebrowse.el (ebrowse-view-file-other-window): Delete. + (ebrowse-view/find-file-and-search-pattern): + Call view-file-other-window instead of ebrowse-view-file-other-window. + (ebrowse-view-file-other-frame): Don't call + current-window-configuration. Fix second argument in the call to + view-mode-enter. Doc fix. + +2008-01-11 Richard Stallman + + * subr.el (atomic-change-group): Prevent undo list truncation. + +2008-01-11 Martin Rudalics + + * cus-start.el (all): Add missing version entries. + +2008-01-10 Dan Nicolaescu + + * files.el (safe-local-eval-forms): + Mark (add-hook 'write-file-hooks 'time-stamp) as safe. + +2008-01-10 Nick Roberts + + * comint.el (comint-insert-input): Set point first. + + * progmodes/gdb-ui.el (gdb-dequeue-input): Make doubly sure + session doesn't hang because gdb-pending-triggers is non-nil. + (gdb-frame-handler): Use buffer-file-name instead of + buffer-name in case of duplicate file names. + +2008-01-10 Dan Nicolaescu + + * progmodes/verilog-mode.el (verilog-mode-map): Don't bind C-M-a, + C-M-e and C-M-h for emacs, they work by default. + (verilog-emacs-features): Remove. + (verilog-setup-dual-comments, verilog-populate-syntax-table): + Remove. Move syntax table initialization ... + (verilog-mode-syntax-table): ... here. + (verilog-mode): Don't initialize the syntax table here. + (verilog-mark-defun): Only do something useful for XEmacs, Emacs + does not need it. + +2008-01-10 Glenn Morris + + * shell.el (shell-dirtrack-verbose, shell-mode) + (shell-directory-tracker, shell-dirtrack-mode): Doc fix. + (dirtrack-toggle, dirtrack-mode): No longer alias to + shell-dirtrack-mode. + +2008-01-10 Kenichi Handa + + * international/mule-cmds.el (select-safe-coding-system): + When a buffer is modified, cancel the writing. + +2008-01-09 Wilson Snyder + + * progmodes/verilog-mode.el (verilog-booleanp): New function for + backward compatibility. Replace all uses of booleanp with + verilog-booleanp. + +2008-01-09 Dan Nicolaescu + + * vc-hg.el (vc-hg-diff): Don't pass an empty string. + +2008-01-09 Wilson Snyder + + * progmodes/verilog-mode.el (top-level): Fix spacing. + (verilog-mode-version, verilog-mode-release-date): Update version + number. + (verilog-mode-release-emacs): New variable. + (compile-command, reporter-prompt-for-summary-p): Define for byte + compiler. + (verilog-startup-message-lines) + (verilog-startup-message-displayed) + (verilog-display-startup-message): Remove. + (verilog-highlight-p1800-keywords): Improve docstring. + (sigs-in, sigs-out, got-sig, got-rvalue, uses-delayed) + (vector-skip-list): Only defvar at compile time. + (verilog-highlight-translate-off, verilog-indent-level) + (verilog-indent-level-module, verilog-indent-level-declaration) + (verilog-indent-declaration-macros, verilog-indent-lists) + (verilog-indent-level-behavioral) + (verilog-indent-level-directive, verilog-cexp-indent) + (verilog-case-indent, verilog-auto-newline) + (verilog-auto-indent-on-newline, verilog-tab-always-indent) + (verilog-tab-to-comment, verilog-indent-begin-after-if) + (verilog-align-ifelse, verilog-minimum-comment-distance) + (verilog-auto-lineup, verilog-highlight-p1800-keywords) + (verilog-auto-endcomments, verilog-auto-read-includes) + (verilog-auto-star-expand, verilog-auto-star-save) + (verilog-library-flags, verilog-library-directories) + (verilog-library-files, verilog-library-extensions) + (verilog-active-low-regexp, verilog-auto-sense-include-inputs) + (verilog-auto-sense-defines-constant, verilog-auto-reset-widths) + (verilog-assignment-delay, verilog-auto-inst-vector) + (verilog-auto-inst-template-numbers) + (verilog-auto-input-ignore-regexp) + (verilog-auto-inout-ignore-regexp) + (verilog-auto-output-ignore-regexp) + (verilog-auto-unused-ignore-regexp, verilog-typedef-regexp): + Add safe-local-variable properties. + (verilog-statement-menu, verilog-company) + (verilog-re-search-forward, verilog-re-search-backward) + (verilog-error-regexp-add, verilog-end-block-re) + (verilog-emacs-features, verilog-populate-syntax-table) + (verilog-setup-dual-comments, verilog-type-font-keywords) + (verilog-inside-comment-p, electric-verilog-backward-sexp) + (verilog-backward-sexp, verilog-forward-sexp) + (verilog-font-lock-init, verilog-mode) + (electric-verilog-terminate-line, electric-verilog-semi) + (electric-verilog-tab, verilog-insert-1, ) + (verilog-insert-indices, verilog-generate-numbers) + (verilog-comment-region, verilog-label-be) + (verilog-beg-of-statement, verilog-in-case-region-p) + (verilog-in-struct-region-p, verilog-in-generate-region-p) + (verilog-in-fork-region-p, verilog-backward-case-item) + (verilog-set-auto-endcomments, verilog-get-expr) + (verilog-expand-vector-internal, verilog-surelint-off) + (verilog-batch-execute-func, verilog-calculate-indent) + (verilog-calc-1, verilog-calculate-indent-directive) + (verilog-leap-to-head, verilog-continued-line) + (verilog-backward-token, verilog-backward-syntactic-ws) + (verilog-forward-syntactic-ws, verilog-backward-ws&directives) + (verilog-forward-ws&directives, verilog-at-constraint-p) + (verilog-skip-backward-comments, verilog-indent-line-relative) + (verilog-do-indent, verilog-indent-comment) + (verilog-more-comment, verilog-pretty-declarations) + (verilog-pretty-expr, verilog-just-one-space) + (verilog-indent-declaration, verilog-get-completion-decl) + (verilog-goto-defun, verilog-showscopes, verilog-header) + (verilog-signals-combine-bus, verilog-read-decls) + (verilog-read-always-signals-recurse, verilog-read-instants) + (verilog-read-auto-template, verilog-set-define) + (verilog-read-defines, verilog-read-signals, verilog-getopt) + (verilog-is-number, verilog-expand-dirnames) + (verilog-modi-lookup, verilog-modi-cache-results) + (verilog-insert-one-definition, verilog-make-width-expression) + (verilog-delete-autos-lined, verilog-auto-save-check) + (verilog-auto-arg, verilog-auto-inst-port, verilog-auto-inst) + (verilog-auto-inst-param, verilog-auto-reg) + (verilog-auto-reg-input, verilog-auto-wire, ) + (verilog-auto-output, verilog-auto-output-every) + (verilog-auto-input, verilog-auto-inout) + (verilog-auto-inout-module, verilog-auto-sense) + (verilog-auto-reset, verilog-auto-tieoff, verilog-auto-unused) + (verilog-auto-ascii-enum, verilog-auto) + (verilog-sk-define-signal, verilog-mode-mouse-map) + (verilog-load-file-at-mouse, verilog-load-file-at-point) + (verilog-library-files): Cleanup spacing of )'s they should not be + on unique lines. Fix checkdoc warnings. + +2008-01-09 Glenn Morris + + * ffap.el (ffap-string-at-point-mode-alist): Add `\' to file + entry, for Windows. + +2008-01-09 Vinicius Jose Latorre + + * ps-print.el: Some face attributes (like :strike-through) was not + being recognised. Reported by Leo . + (ps-face-strikout-p, ps-face-overline-p, ps-face-box-p): New funs. + (ps-screen-to-bit-face): Fix code. + +2008-01-08 Kevin Ryde + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + For perl, allow "during global destruction" at end. + +2008-01-08 Glenn Morris + + * diff-mode.el (diff-end-of-hunk): Don't match empty lines in + unified format. + + * mouse.el (mouse-major-mode-menu): Suppress duplicate menus. + +2008-01-08 Nick Roberts + + * progmodes/gdb-ui.el (gdb-var-list-children-1): Put varnum in + quotes in case of spaces, e.g. STL containers (not pretty). + +2008-01-07 Dan Nicolaescu + + * vc-hg.el (vc-hg-log-view-mode): Handle the user field better. + +2008-01-07 Nick Roberts + + * progmodes/gdb-ui.el (gud-gdb-command-name): + Explain "--annotate=3" option is necessary for the Graphical Interface. + +2008-01-07 Dan Nicolaescu + + * vc-hg.el (vc-hg-dir-state): Pass the dir argument to vc-hg-command. + +2008-01-07 Glenn Morris + + * calc/calc-help.el (calc-full-help): Use emacs-copyright. + +2008-01-06 Nick Roberts + + * progmodes/hideif.el (hide-ifdef-mode-menu): Put hide-ifdef commands + on menu bar. + +2008-01-06 Michael Albinus + + * ffap.el (ffap-read-file-or-url): Let-bind + `file-name-handler-alist' due to `rfn-eshadow-update-overlay'. + +2008-01-05 Sven Joachim + + * vc-bzr.el: Fix typo in header. + +2008-01-05 Eli Zaretskii + + * Makefile.in (custom-deps, finder-data): Depend on autoloads + instead of loaddefs.el. + +2008-01-05 Glenn Morris + + * progmodes/verilog-mode.el: Replace all instances of + string-to-int with string-to-number, insert-string with insert, + and read-input with read-string. + (top-level): No need to require imenu, reporter, dinotrace, vc, + font-lock when compiling. Always require compile. Relegate remaining + compatibility cruft to XEmacs. Don't require font-lock. + (verilog-version): Remove superfluous concat. + (dinotrace-unannotate-all, zmacs-activate-region, customize-apropos): + No need to define. + (verilog-regexp-opt): On Emacs, just make it an alias for regexp-opt. + (verilog-font-lock-keywords, verilog-font-lock-keywords-1) + (verilog-font-lock-keywords-2, verilog-font-lock-keywords-3) + (verilog-startup-message-displayed): These are variables, not constants. + (verilog-batch-execute-func, verilog-auto-inst) + (verilog-auto-inst-param): Use mapc rather than mapcar. + (sigs-in, sigs-inout, sigs-out): Define for compiler rather than + actually defining. + (verilog-modi-get-decls, verilog-modi-get-sub-decls) + (verilog-modi-get-outputs, verilog-modi-get-inouts) + (verilog-modi-get-inputs, verilog-modi-get-wires) + (verilog-modi-get-regs, verilog-modi-get-assigns) + (verilog-modi-get-consts, verilog-modi-get-gparams) + (verilog-modi-get-sub-outputs, verilog-modi-get-sub-inouts) + (verilog-modi-get-sub-inputs): Move inline functions earlier in + the file. + (sigs-in, sigs-out): Don't declare multiple times. + (got-sig, got-rvalue, uses-delayed): Define for compiler with just + `defvar'. + (verilog-auto): Call dinotrace-unannotate-all only if bound. + (verilog-module-inside-filename-p): No need to wrap fboundp test + in condition-case. + (reporter-submit-bug-report): Autoload it. + (verilog-mark-defun): Call zmacs-activate-region only if bound. + (verilog-font-customize): Call customize-apropos only if bound. + (verilog-getopt-flags, verilog-auto-reeval-locals): + Use make-local-variable rather than make-variable-buffer-local. + (verilog-company, verilog-project, verilog-modi-cache-list): + Move make-variable-buffer-local calls to top-level. + (font-lock-defaults-alist): Don't define it. + (verilog-need-fld): Remove. + (verilog-font-lock-init): Don't set font-lock-defaults-alist. + (verilog-mode): Only call make-local-hook on XEmacs. + Set font-lock-defaults rather than using verilog-font-lock-init. + + * progmodes/verilog-mode.el (top-level): Don't require compile. + (compilation-error-regexp-alist, compilation-last-buffer): + Define for compiler. + (verilog-insert-1): New function. + (verilog-insert-indices, verilog-generate-numbers): Doc fixes. + Use verilog-insert-1. + (verilog-surelint-off): Use next-error-last-buffer if bound. + Check compile buffer is live. + +2008-01-05 Stefan Monnier + + * vc-cvs.el (vc-cvs-annotate-time): Don't move backward when text + gets inserted out-of-order. + +2008-01-04 Riccardo Murri + + * vc-bzr.el: Copyright and version headers update. + Remove some outdated comments through the whole file. + (vc-bzr-program-args): Remove because unused. + (vc-bzr-log-switches): New customization option. + (vc-bzr-command): Use LC_MESSAGES=C instead of LC_ALL=C. No longer + use `vc-bzr-program-args'. + (vc-bzr-register): Fix for working with both 22.1 and CVS version of + `vc-find-root' (patch by Andreas Hoenen). + (vc-bzr-status): Update regex to match latest Bzr output. + Remove redundant test. + (vc-bzr-init-version): New function. + (vc-bzr-unregister): Must not delete file. + (vc-bzr-find-version): New function. + (vc-bzr-checkout): Argument `rev' is explicit revision only if it's + a non-empty string, otherwise take head revision. + (vc-bzr-print-log): Pass `vc-bzr-log-switches' to "bzr log". + (vc-bzr-diff): Simpler build of the revision spec string. + (vc-annotate-convert-time, vc-bzr-annotate-difference): + Remove: compatibility hacks for Emacs21, not needed in Emacs 22. + (vc-bzr-dir-state): Add code comments. Removed redundant statement. + (vc-bzr-dired-state-info): Only provide custom strings for + overloaded VC state 'edited; otherwise fallback to + `vc-default-dired-state-info'. + +2008-01-04 Dan Nicolaescu + + * vc-git.el (vc-git-dir-state): + * vc-hg.el (vc-hg-dir-state): Set the vc-backend property. + +2008-01-04 Richard Stallman + + * delsel.el (delete-selection-mode): Doc fix. + +2008-01-04 Glenn Morris + + * version.el (emacs-copyright): Update to 2008. + +2008-01-03 Nick Roberts + + * progmodes/gud.el (gud-def): Do nothing if gud-running is t. + (gud-speedbar-menu-items): Add item for gdb-var-set-format below. + + * progmodes/gdb-ui.el (gdb-var-set-format): Set the output format + of watch expressions (only works fully with GDB 6.7 or later). + +2008-01-03 Dan Nicolaescu + + * time-stamp.el (time-stamp-time-zone): + * whitespace.el (whitespace-check-buffer-leading) + (whitespace-check-buffer-trailing) + (whitespace-check-buffer-indent) + (whitespace-check-buffer-spacetab) + (whitespace-check-buffer-ateol): + * progmodes/sh-script.el (sh-indentation): + * textmodes/ispell.el (ispell-local-pdict): + Add safe-local-variable properties. + +2007-12-31 Richard Stallman + + * cus-edit.el (custom-add-parent-links): New arg DOC-INITIAL-STRING. + Defaults for INITIAL-STRING and DOC-INITIAL-STRING do not include + `parent'. + (custom-group-value-create): Pass two args to custom-add-parent-links. + +2007-12-29 Richard Stallman + + * font-lock.el (font-lock-prepend-text-property) + (font-lock-append-text-property): Canonicalize the face and + font-lock-face properties. + + * faces.el (facep): Doc fix. + + * startup.el (fancy-startup-tail, fancy-about-text) + (fancy-startup-text): Regularize format of face property. + + * facemenu.el (list-colors-print): Use :background and :foreground + instead of background-color and foreground-color. + +2007-12-29 Drew Adams + + * cus-edit.el (custom-add-parent-links): + Fill the "Parent documentation" text. + +2007-12-29 Eli Zaretskii + + * textmodes/ispell.el (ispell-grep-command): Use "grep" on + MS-Windows and MS-DOS. + (ispell-grep-options): Use "-Ei" on MS-Windows and MS-DOS. + +2007-12-28 YAMAMOTO Mitsuharu + + * progmodes/grep.el (rgrep): Fix last change. + +2007-12-27 Richard Stallman + + * progmodes/compile.el (compilation-start): Set initial visible + point properly even when compilation buffer already current. + +2007-12-26 Richard Stallman + + * files.el (conf-mode-maybe): New function. + (auto-mode-alist): Use conf-mode-maybe for .conf etc. + +2007-12-26 Martin Rudalics + + * textmodes/fill.el (fill-find-break-point): Fix doc-string typo. + +2007-12-25 Dan Nicolaescu + + * progmodes/asm-mode.el (asm-mode-map): Add a major mode menu. + +2007-12-25 Richard Stallman + + * comint.el (comint-mode-map): Explicitly bind `delete' and `kp-delete' + so they never do EOF. + +2007-12-23 Richard Stallman + + * dired-aux.el: Load dired.el at run time too. + + * faces.el (copy-face): Create the new face explicitly if it + does not exist already. + +2007-12-23 Andreas Schwab + + * files.el (switch-to-buffer-other-frame): Return the buffer + switched to. + +2007-12-23 Juri Linkov + + * term/mac-win.el (mac-apple-event-map): Bind About Emacs menu + item to about-emacs instead of display-splash-screen. + +2007-12-22 Eli Zaretskii + + * simple.el (minibuffer-history, shell-command-history) + (set-variable-value-history): + * replace.el (regexp-history): + * international/mule-cmds.el (input-method-history): + * files.el (file-name-history): Add reference to history-length in + the doc string. + +2007-12-22 Richard Stallman + + * comint.el (comint-password-prompt-regexp): Match `Enter Password'. + +2007-12-21 Jason Rumney + + * find-dired.el (find-name-arg): New custom variable. + (find-name-dired): Use it. + (find-dired-find-program): Remove. + (find-dired): Use find-program. + (find-grep-dired): Use grep-program. + + * progmodes/grep.el (rgrep): Use find-name-arg. + +2007-12-21 Martin Rudalics + + * autoinsert.el (auto-insert-alist): Remove nonsensical precision + specifier from format-string. Reported by Ye Wenbin. + +2007-12-19 Martin Rudalics + + * cus-start.el: Use correct group name for members of mode-line group. + +2007-12-17 Thien-Thi Nguyen + + * progmodes/cc-vars.el (defcustom-c-stylevar): + Revert to pre-2007-12-12 version. + +2007-12-15 Richard Stallman + + * emacs-lisp/find-func.el (find-function-after-hook): Add :type. + + * info.el (Info-clone-buffer): Rename from Info-clone-buffer-hook. + Use changed. + + * startup.el (fancy-splash-help-echo): Var deleted. + (fancy-splash-insert): Get help-echo from (startup-echo-area-message). + (fancy-about-screen): Don't display fancy-splash-help-echo. + + * menu-bar.el (menu-bar-describe-menu): Remove dots from menu text. + +2007-12-12 Thien-Thi Nguyen + + * progmodes/cc-vars.el (defcustom-c-stylevar): Rewrite. + +2007-12-11 Dan Nicolaescu + + * progmodes/verilog-mode.el (set-buffer-menubar): Remove unused + function. + (add-submenu): Only define for XEmacs. + (verilog-regexp-words): Revert previous change, keep the other + definition. + +2007-12-09 Dan Nicolaescu + + * progmodes/perl-mode.el (perl-continued-statement-offset) + (perl-continued-brace-offset, perl-brace-offset) + (perl-brace-imaginary-offset, perl-label-offset): + * progmodes/cperl-mode.el (cperl-brace-offset) + (cperl-continued-brace-offset, cperl-label-offset) + (cperl-continued-statement-offset) + (cperl-extra-newline-before-brace, cperl-merge-trailing-else): + Add safe-local-variable properties. + +2007-12-08 Dan Nicolaescu + + * progmodes/verilog-mode.el (verilog-mode-map) + (verilog-template-map, verilog-mode-mouse-map): Fix typos. + (verilog-colorize-include-files): Use only overlay functions so + that it can work on both Emacs and XEmacs. + (set-extent-keymap): Remove unused defun. + (verilog-kill-existing-comment, verilog-insert-date) + (verilog-insert-year): Rename in order not to pollute the global + namespace from kill-existing-comment, insert-date and + insert-year, respectively. + (verilog-set-auto-endcomments, verilog-header): Update callers. + + * files.el (auto-mode-alist): Recognize verilog files. + + * progmodes/verilog-mode.el (verilog-string-replace-matches) + (verilog-string-remove-spaces, verilog-re-search-forward) + (verilog-re-search-backward, verilog-re-search-forward-quick) + (verilog-re-search-backward-quick, verilog-get-beg-of-line) + (verilog-get-end-of-line, verilog-within-string): Move definitions + before first use. No code changes. + +2007-12-08 Dan Nicolaescu + + * progmodes/verilog-mode.el (verilog-mode-version) + (verilog-mode-release-date): Don't use expanding keywords. + (provide): Move to the end of file. + (fboundp): Don't check if eval-when-compile is bound, it is used + later in the file without checking. + (when, unless): Copy definitions from subr.el. + (char-before, defcustom, defface, customize-group) + (verilog-batch-error-wrapper): Don't use old style backquotes. + (verilog-regexp-opt): Avoid using the cl function case. + (verilog-regexp-words): Remove duplicated definition. + (verilog-mode-abbrev-table): Remove, duplicate. + (verilog-mode-map, verilog-template-map, verilog-mode-mouse-map): + Declare and initialize in one step. + (verilog-declaration-prefix-re, verilog-declaration-re) + (verilog-end-of-statement, verilog-indent-declaration) + (verilog-get-lineup-indent): Remove trailing whitespace. + (verilog-mode): Fix autoload cookie. + Set beginning-of-defun-function and end-of-defun-function. + Use when instead of if. + (verilog-emacs-features, verilog-auto-ascii-enum) + (verilog-insert-indices): Escape braces in doc strings. + +2007-12-08 Michael McNamara + Wilson Snyder + + * progmodes/verilog-mode.el: New file. + +2007-12-08 Eli Zaretskii + + * international/latexenc.el (latexenc-find-file-coding-system): + If both coding-system-for-write and buffer-file-coding-system of + latex-main-file are nil, use `undecided'. + +2007-12-06 Jason Rumney + + * mouse.el (mouse-buffer-menu-alist): Keep buffer names left aligned. + +2007-12-04 Juanma Barranquero + + * ido.el (ido-save-history): Use emacs-mule coding system + instead of utf-8 to save filenames (it's safer in Emacs 22). + Set the `coding' local variable on the first line of the file. + +2007-12-04 Karl Fogel + + * saveplace.el (save-place-alist-to-file): Save with 'emacs-mule' + coding system. This ports revisions 1.40 and 1.41 over to the + EMACS_22_BASE branch, but with the right coding system for Emacs + 22 to reliably record filenames. Suggested by Eli Zaretskii. + +2007-12-01 Richard Stallman + + * wid-edit.el (widget-type): Doc fix. + +2007-12-01 Dan Nicolaescu + + * emacs-lisp/byte-run.el (declare-function): Change to a macro. + +2007-12-01 Alexandre Julliard + + * vc-git.el (vc-git-dir-state): Fix the git command arguments. + +2007-11-30 Stefan Monnier + + * progmodes/perl-mode.el (perl-font-lock-syntactic-keywords): + Don't match "sub { (...) ... }". + +2007-11-29 Richard Stallman + + * international/mule-cmds.el (toggle-input-method-active): New var. + (toggle-input-method): Bind toggle-input-method-active to t. + Error if it was already non-nil. + +2007-11-29 Glenn Morris + + * calendar/time-date.el (with-decoded-time-value): Doc fix. + +2007-11-29 Ari Roponen (tiny change) + + * calendar/time-date.el (encode-time-value): Doc fix. + +2007-11-26 Juanma Barranquero + + * emacs-lisp/bytecomp.el (batch-byte-recompile-directory): Doc fix. + +2007-11-24 Kenichi Handa + + * international/ucs-tables.el (ucs-8859-7-alist): Update the table. + +2007-11-22 Jan Dj,Ad(Brv + + * term/x-win.el (x-gtk-map-stock): Check if FILE is a string. + +2007-11-21 Juanma Barranquero + + * textmodes/paragraphs.el (forward-sentence): Doc fix. + Reported by Drew Adams . + +2007-11-20 Glenn Morris + + * emacs-lisp/byte-run.el (declare-function): Define as a no-op, + for compatibility with Emacs 23. + +2007-11-19 Juanma Barranquero + + * replace.el (map-query-replace-regexp): Doc fix (revert part of + revision 1.104, made on 2000-05-21 with no ChangeLog entry). + +2007-11-19 Nick Roberts + + * progmodes/gdb-ui.el: Update commentary. + +2007-11-16 Eli Zaretskii + + * international/mule-cmds.el (set-locale-environment): + Set default-file-name-coding-system _after_ keyboard and terminal + coding systems. This fixes last change. + + * mail/rmail.el (rmail-current-subject-regexp): Allow more than + one space after "Subject:". + +2007-11-16 Juanma Barranquero + + * subr.el (make-variable-frame-local): + Fix typo in obsolescence declaration. + +2007-11-16 Glenn Morris + + * mail/mail-extr.el (mail-extr-all-top-level-domains): Update domains. + +2007-11-16 Rob Riepel + + * emulation/tpu-extras.el (tpu-next-line, tpu-previous-line) + (tpu-forward-line, tpu-backward-line, tpu-scroll-window-down) + (tpu-scroll-window-up): Replace next-line-internal -> line-move. + +2007-11-16 Stefan Monnier + + * pcvs-parse.el (cvs-parse-table): Ignore errors when looking up files + in order to determine if there's a conflict. + +2007-11-16 Juri Linkov + + * man.el (Man-heading-regexp): Add 0-9. + (Man-first-heading-regexp): Remove leading space [ \t]* before NAME. + +2007-11-15 Juanma Barranquero + + * progmodes/cc-engine.el (c-crosses-statement-barrier-p): + Fix typo in docstring. + + * emulation/cua-base.el (cua-paste-pop): Fix typo in docstring. + (cua-highlight-region-shift-only): Doc fix. + +2007-11-15 Richard Stallman + + * bindings.el (esc-map): Bind C-M-l here; moved from reposition.el. + + * reposition.el (reposition-window): + Binding C-M-l moved to bindings.el. + + * bindings.el (ctl-x-4-map): Bind C-x 4 a here; moved from add-log.el. + + * add-log.el (add-change-log-entry-other-window): + Key binding C-x 4 a moved to bindings.el. + + * bindings.el (minibuffer-local-map): Bind C-tab here; moved + from filecache.el. + + * filecache.el: Minibuffer map bindings moved to bindings.el. + +2007-11-14 Jason Rumney + + * international/mule-cmds.el (set-locale-environment): + Set default-file-name-coding-system from system defaults on Windows. + +2007-11-14 Nick Roberts + + * progmodes/gdb-ui.el (gdb-parent-bptno-enabled): New variable. + (gdb-breakpoint-regexp, gdb-mouse-toggle-breakpoint-margin) + (gdb-mouse-toggle-breakpoint-fringe, gdb-delete-breakpoint) + (gdb-goto-breakpoint): Generalise for breakpoints with multiple + locations. + (gdb-info-breakpoints-custom, gdb-assembler-custom) + (gdb-toggle-breakpoint): Update for new gdb-breakpoint-regexp. + (gdb-put-breakpoint-icon): Only display icon for parent breakpoint. + +2007-11-11 Juanma Barranquero + + * international/iso-cvt.el (iso-translate-conventions): Doc fix. + (iso-aggressive-german-trans-tab, iso-conservative-german-trans-tab) + (iso-tex2iso-trans-tab, iso-gtex2iso-trans-tab): Reflow docstring. + (iso-spanish, iso-german, iso-iso2tex, iso-tex2iso, iso-gtex2iso) + (iso-iso2gtex, iso-iso2duden, iso-iso2sgml, iso-sgml2iso): + Rewrite in active voice. + +2007-11-10 Juri Linkov + + * startup.el: Backport startup screen related changes from the trunk. + (initialization): Change group to `environment'. + (inhibit-startup-screen): Rename from `inhibit-splash-screen'. + (inhibit-splash-screen): Make alias to `inhibit-startup-screen'. + (inhibit-startup-message): Change alias to `inhibit-startup-screen'. + (initial-scratch-message): Fix docstring. + (startup-screen-inhibit-startup-screen) + (pure-space-overflow-message): New variables. + (command-line): Rename `inhibit-startup-message' to + `inhibit-startup-screen'. + (initial-scratch-message): Doc fix. + (fancy-splash-text): Remove variable. + (fancy-startup-text, fancy-about-text, splash-screen-keymap): + New variables. + (fancy-splash-delay, fancy-splash-max-time) + (fancy-current-text, fancy-splash-stop-time) + (fancy-splash-outer-buffer, fancy-splash-last-input-event): + Remove variables. + (fancy-splash-insert): Use help-echo from the 3rd element of the + link specification list, or "Follow this link" if it's nil. Doc fix. + Allow functions for face and link specs. + (fancy-splash-tail): Remove function. + (fancy-startup-tail): New function. + (fancy-splash-default-action, fancy-splash-special-event-action) + (fancy-splash-screens): Remove functions. + (fancy-about-screen): New function. + (normal-splash-screen): Rename argument `hide-on-input' to `startup'. + Fix docstring. Use argument `startup' to conditionally display + different texts for Startup and About screens. Don't display Help + commands on the About screen. Remove `unwind-protect' `sit-for' + delay and `kill-buffer' after it. + (normal-mouse-startup-screen, normal-splash-screen) + (normal-no-mouse-startup-screen): New functions. + (startup-echo-area-message): Change text of the echo area. + (display-splash-screen): Remove function. + (display-startup-screen, display-about-screen): New functions. + (about-emacs): Make alias to `display-about-screen'. + (display-splash-screen): Make alias to `display-startup-screen'. + (command-line-1): Rename `inhibit-startup-message' to + `inhibit-startup-screen'. Inhibit startup screen when Emacs is + started with command line options "-f", "-funcall", "-e", "-eval", + "-execute", "-insert", "-find-file", "-file", "-visit". + Inhibit startup screen when Emacs is started with a file name only + on tty (i.e. don't inhibit it when started with a file name like + "emacs FILE..." on a window system). + Comment out unused code for coping with the old sit-for behavior. + If file-count > 0, then display the concise version in another + window, otherwise display full version in the same window. + * loadup.el: Add `button'. Move up `startup'. + * help.el (help-map, help-for-help-internal): Add `C-h C-a'. + * version.el (emacs-copyright): Add emacs-copyright. + * menu-bar.el (menu-bar-help-menu): + Move "About Emacs" and "About GNU" to the end of the Help menu. + Move "Emacs Psychotherapist" after "Send Bug Report...". + Move "External Packages" after "Find Emacs Packages". + +2007-11-10 Jason Rumney + + * w32-fns.el: Sync charset names with setup-default-fontset. + Append "-1" where second part missing. + + * term/w32-win.el: Enable SJIS fonts before creating any fontsets. + +2007-11-10 Juanma Barranquero + + * ido.el (ido-save-history): Write the history file in UTF-8, + and add `coding' file-local variable. + +2007-11-09 Juanma Barranquero + + * international/iso-cvt.el (iso-spanish, iso-german, iso-iso2tex) + (iso-tex2iso, iso-gtex2iso, iso-iso2gtex, iso-iso2duden): Doc fixes. + (iso-iso2duden-trans-tab): Add docstring. + +2007-11-09 YAMAMOTO Mitsuharu + + * faces.el (face-normalize-spec): Remove function. + (frame-set-background-mode): Undo last change. + +2007-11-09 Juanma Barranquero + + * files.el (enable-local-variables): Doc fix. + +2007-11-08 David Hansen (tiny change) + + * eshell/em-dirs.el (eshell-expand-multiple-dots): Change regexp to + match dir like "a...b". + +2007-11-07 Johan Bockg,Ae(Brd + + * eshell/esh-mode.el (eshell-output-filter): + * eshell/esh-proc.el (eshell-insertion-filter, eshell-sentinel): + Use `with-current-buffer'. + +2007-11-05 Nick Roberts + + * progmodes/gud.el (gud-gdb): Remove vestigial gdba doc and code. + +2007-11-04 Riccardo Murri + + * net/tls.el: Require rx when compiling. + (tls-end-of-info): New variable. + (open-tls-stream): Keep reading input until `tls-end-of-info' is + matched. + +2007-11-03 Ulrich Mueller (tiny change) + + * simple.el (bad-packages-alist): Anchor semantic regexp. + +2007-11-02 Drake Wilson (tiny change) + + * files.el (hack-local-variables): Fix membership tests to avoid + treating all variables as safe if `enable-local-variables' is + set to :safe (CVE-2007-5795). + +2007-11-02 Glenn Morris + + * progmodes/etags.el (tags-table-mode): Disable undo. + + * simple.el (bad-packages-alist): Revert previous change. + +2007-11-01 Dan Nicolaescu + + * printing.el (printing): Fix :version, printing.el was included + in emacs-22.1. + (pr-path-style, pr-path-alist, pr-txt-name) + (pr-txt-printer-alist, pr-ps-name, pr-ps-printer-alist) + (pr-temp-dir, pr-ps-temp-file, pr-file-modes, pr-gv-command) + (pr-gs-command, pr-gs-switches, pr-gs-device, pr-gs-resolution) + (pr-print-using-ghostscript, pr-file-tumble, pr-auto-region) + (pr-auto-mode, pr-mode-alist, pr-ps-utility) + (pr-ps-utility-alist, pr-menu-char-height, pr-menu-char-width) + (pr-setting-database, pr-visible-entry-list) + (pr-delete-temp-file, pr-list-directory, pr-buffer-name) + (pr-buffer-name-ignore, pr-buffer-verbose): Remove incorrect + :version. + +2007-11-01 Glenn Morris + + * simple.el (bad-packages-alist): Add an entry for standalone vc-svn. + + * mail/footnote.el (footnote-numeric-regexp) + (footnote-english-upper-regexp, footnote-english-lower-regexp) + (footnote-roman-lower-regexp, footnote-roman-upper-regexp): + Match multi-character footnotes. + + * textmodes/nroff-mode.el (nroff-mode): Set indent-line-function. + (nroff-indent-line-function): New function. + (nroff-count-text-lines): Use nroff-forward-text-line rather than + obsolete alias. + +2007-10-31 Michael Albinus + + * net/tramp.el (tramp-open-connection-telnet) + (tramp-open-connection-rsh, tramp-open-connection-su) + (tramp-open-connection-multi): Set $LC_ALL to "C". + +2007-10-31 Sven Joachim + + * dired-aux.el (dired-copy-file-recursive): + Preserve directory permissions. + +2007-10-31 Juanma Barranquero + + * whitespace.el (whitespace-write-file-hook): Remove interactive spec. + (whitespace-unload-function): New-style unload function. When run, + unintern `whitespace-unload-hook' and call `unload-feature' recursively + to stop the old hook from messing with the unloading. + + * strokes.el (strokes-alphabetic-lessp): Doc fix. + +2007-10-31 Sean O'Rourke + + * emacs-lisp/find-func.el (find-library): Use library at + point as default interactive argument. + +2007-10-31 Juanma Barranquero + + * emacs-lisp/elp.el (elp-report-limit, elp-restore-all) + (elp-unset-master, elp-results): Fix typos. + (elp-sort-by-function, elp-use-standard-output, elp-recycle-buffers-p): + Doc fixes. + + * msb.el (msb--many-menus): Remove variable. + (msb-max-menu-items, msb--add-to-menu): Doc fixes. + (msb-menu-cond, msb-item-handling-function, msb--create-function-info) + (msb--toggle-menu-type): Fix typos in docstrings. + + * shadowfile.el (shadow-inhibit-overload, shadow-remove-from-todo) + (shadow-insert-var): Doc fixes. + (shadow-file-match, shadow-define-cluster, shadow-define-regexp-group): + Reflow docstrings. + (shadow-parse-fullname, shadow-read-files): Fix typos in docstrings. + +2007-10-30 Juanma Barranquero + + * ediff-hook.el (ediff, ediff-files, ediff-buffers, ebuffers, ediff3) + (ediff-files3, ediff-buffers3, ebuffers3, erevision, ediff-revision): + Fix typos in autoload docstrings. + + * loadhist.el (unload-feature): Remove redundant check. + +2007-10-30 Richard Stallman + + * savehist.el (savehist-save): Obey savehist-ignored-variables. + +2007-10-30 Nick Roberts + + * progmodes/gdb-ui.el (gdb-delete-out-of-scope): New option. + (gdb-var-update-handler-1): Use it. + +2007-10-30 Juanma Barranquero + + * loadhist.el (unload-feature): Remove erroneous check for the + FEATURE-unload-function variable; check the existence of the + function (that's what the docstring says, and it makes more sense). + + * follow.el (follow-unload-function): Add docstring. + (follow-unload-function): Remove variable. + + * server.el (server-unload-function): Remove variable. + (server-unload-function): Unbind `server-edit' from `C-x #'. + + * uniquify.el (uniquify-unload-function): Add docstring. + (uniquify-unload-function): Remove variable. + + * ses.el (ses-unload-function): New function. + +2007-10-29 Juanma Barranquero + + * emacs-lisp/unsafep.el (unsafep, unsafep-function) + (unsafep-progn, unsafep-let): Fix typos in docstrings. + + * uniquify.el (uniquify-maybe-rerationalize-w/o-cb): Define it + before use to avoid a warning in packages that require uniquify. + (uniquify-unload-function): New function and var. + +2007-10-29 Juanma Barranquero + + * loadhist.el (unload-feature-special-hooks): + Add `delete-frame-functions'. + + * server.el (server-unload-function): Rename from `server-unload-hook' + and adapt to new `unload-feature' functionality. Remove hook from + `kill-buffer-hook' buffer-locally. + (server-unload-hook): Remove. + (server-unload-function): New var; replaces `server-unload-hook'. + +2007-10-27 Juanma Barranquero + + * desktop.el (uniquify-managed): Pacify byte compiler. + (desktop-buffer-info): If the buffer name is managed by uniquify, + save the base name, not the uniquified one. + (desktop-create-buffer): Allow `rename-buffer' to generate a new + name in case of conflict. + +2007-10-26 Glenn Morris + + * emacs-lisp/bytecomp.el (byte-compile-warnings): Autoload the + safe-local-variable property. + +2007-10-26 Gwern Branwen (tiny change) + + * net/browse-url.el (browse-url-browser-function): Delete grail. + (browse-url-grail): Function and variable deleted. + (browse-url-browser-function): Delete IXI Mosaic. + (browse-url-default-browser): Don't try IXI Mosaic. + (browse-url-iximosaic): Function deleted. + (browse-url-browser-function): Delete MMM. + (browse-url-default-browser): Don't try MMM. + (browse-url-mmm): Function deleted. + +2007-10-25 Glenn Morris + + * progmodes/f90.el (f90-indented-comment-re) + (f90-directive-comment-re, f90-break-delimiters): + * progmodes/fortran.el (fortran-comment-line-start-skip) + (fortran-directive-re): + * textmodes/conf-mode.el (conf-space-keywords): Mark these regexps + as safe if they are strings. + +2007-10-25 Richard Stallman + + * progmodes/ps-mode.el (ps-mode-map): Delete C-c v binding. + +2007-10-24 Richard Stallman + + * savehist.el (savehist-save): Omit unreadable elements. + + * loadhist.el (unload-function-defs-list): Renamed from + unload-function-features-list. + (unload-feature-special-hooks, unload-feature): Doc fixes. + + * indent.el (indent-to-left-margin): If point's in the indentation, + move to the end of the indentation. + + * cus-edit.el (customize-changed-options): Make arg optional. + +2007-10-24 Juanma Barranquero + + * bs.el (bs-select, bs-select-other-window): Fix typos in docstrings. + +2007-10-23 Stefan Monnier + + * textmodes/css-mode.el: Require CL. + (comment-continue): Declare. + + * subr.el (make-variable-frame-localizable): Remove. + (make-variable-frame-local): Mark obsolete. + +2007-10-23 Juanma Barranquero + + * ibuf-ext.el (ibuffer-switch-to-saved-filters) + (ibuffer-switch-to-saved-filter-groups): Doc fixes. + +2007-10-23 Chris Moore + + * comint.el (comint-password-prompt-regexp): + Handle `[sudo] password'-style prompt. + +2007-10-23 Glenn Morris + + * progmodes/f90.el (f90-do-indent, f90-if-indent) + (f90-type-indent, f90-program-indent) + (f90-continuation-indent, f90-comment-region) + (f90-beginning-ampersand, f90-smart-end) + (f90-break-before-delimiters, f90-auto-keyword-case) + (f90-leave-line-no, f90-mode-hook): + Give an appropriate safe-local-variable property. + (f90-font-lock-keywords-2): Fix `go to' regexp. + + * progmodes/fortran.el (fortran-tab-mode-default) + (fortran-tab-mode-string, fortran-do-indent, fortran-if-indent) + (fortran-structure-indent, fortran-continuation-indent) + (fortran-comment-indent, fortran-comment-line-extra-indent) + (fortran-comment-line-start) + (fortran-minimum-statement-indent-fixed) + (fortran-minimum-statement-indent-tab) + (fortran-comment-indent-char, fortran-line-number-indent) + (fortran-check-all-num-for-matching-do) + (fortran-blink-matching-if, fortran-continuation-string) + (fortran-comment-region, fortran-electric-line-number) + (fortran-column-ruler-fixed, fortran-column-ruler-tab) + (fortran-analyze-depth, fortran-break-before-delimiters): + Give an appropriate safe-local-variable property. + +2007-10-23 Stefan Monnier + + * textmodes/tex-mode.el (tex-uptodate-p): Don't signal an error if one + of the subdirs is unreadable. + +2007-10-22 Martin Rudalics + + * progmodes/fortran.el (fortran-mode-map, fortran-window-create): + Use window-full-width-p. + +2007-10-22 Stefan Monnier + + * emulation/tpu-edt.el (tpu-edt-old-global-values): New var. + (tpu-edt-off): Use it. + (tpu-edt-on): Set it. Make sure the tpu-global-map is not already on + the global-map before adding it to global-map. + + * menu-bar.el (global-buffers-menu-map): New var. + (global-map, menu-bar-update-buffers): Use it. + * msb.el (msb-menu-bar-update-buffers): Use it. + (msb-sort-by-directory, msb--choose-menu, msb--mode-menu-cond) + (msb--most-recently-used-menu, msb--create-buffer-menu-2): + Use with-current-buffer. + +2007-10-21 Dan Nicolaescu + + * hexl.el (hexl-menu): New major mode menu. + +2007-10-20 Glenn Morris + + * progmodes/f90.el (f90-font-lock-keywords-2) + (f90-looking-at-type-like): Fix regexp typos. + +2007-10-19 Juanma Barranquero + + * bs.el (bs-mode): Add mode name (accidentally left out + in the 2007-10-16 change). + +2007-10-19 Juanma Barranquero + + * bs.el (bs--track-window-changes): Don't refresh the whole list. + (bs-mode): Set mode-class property to special. + + * follow.el (follow-unload-function): New function. + + * loadhist.el (unload-function-features-list): + Rename from `unload-hook-features-list'. + (unload-hook-features-list): Add as obsolete alias. + (unload-feature): Use `unload-function-features-list' + and new FEATURE-unload-function. + +2007-10-18 Juanma Barranquero + + * loadhist.el (unload-feature-special-hooks): + Update list of special hooks. + + * textmodes/fill.el (fill-individual-paragraphs): Doc fix. + (adaptive-fill-function): Doc fix. Remove * from docstring. + +2007-10-18 Glenn Morris + + * ibuf-ext.el (ibuffer-saved-filter-groups): Doc fix. + +2007-10-17 Aaron Hawley + + * tutorial.el (tutorial--save-tutorial): Display message when tutorial + position is not saved. + +2007-10-17 Chong Yidong + + * longlines.el (longlines-wrap-follows-window-size): Integer value + specifies wrapping margin. + (longlines-mode, longlines-window-change-function): + Set window-specific wrapping margin based on the above. + +2007-10-17 John Wiegley + + * eshell/esh-cmd.el (eshell-complex-commands): Add "ls". + +2007-10-17 Glenn Morris + + * progmodes/cc-menus.el (cc-imenu-c++-generic-expression): + Tweak regexp to avoid stack overflow. + +2007-10-16 Stefan Monnier + + * simple.el (reindent-then-newline-and-indent): Don't assume that + indent-according-to-mode preserves point. + +2007-10-16 Juanma Barranquero + + * bs.el (bs--window-config-coming-from): Revert 2006-11-09 change. + (bs--restore-window-config): Keep the selected frame. + (bs--track-window-changes, bs--remove-hooks): New functions. + (bs-mode): Use `define-derived-mode'. Set hook to track window changes. + (bs--show-with-configuration): Revert 2006-11-09 change. + Don't reuse window unless it is visible on the selected frame. + Restore window configuration (possibly in a different frame) + before creating any window. + +2007-10-16 Richard Stallman + + * emacs-lisp/advice.el (ad-get-advice-info): Change to a function. + (ad-get-advice-info-macro): New macro, like old ad-get-advice-info. + (ad-is-advised, ad-get-advice-info-field) + (ad-set-advice-info-field): Use ad-get-advice-info-macro. + +2007-10-16 Glenn Morris + + * simple.el (blink-matching-open): Don't report false errors with + the `$' syntax class. + +2007-10-15 Juanma Barranquero + + * filesets.el (filesets-alist-get): Use `let' rather than `let*'. + (filesets-ormap, filesets-sort-case-sensitive-flag) + (filesets-remake-shortcut, filesets-ingroup-collect-files): + Fix typos in docstrings. + (filesets-data-get-name, filesets-data-get-data) + (filesets-data-set, filesets-cmd-query-replace-getargs) + (filesets-ingroup-collect, filesets-find-or-display-file): Doc fixes. + +2007-10-15 YAMAMOTO Mitsuharu + + * term/mac-win.el: Don't require url when compiling, as url-type is + no longer a macro. + +2007-10-14 Glenn Morris + + * progmodes/etags.el (select-tags-table): Disable undo in the + `*Tags Table List*' buffer. + +2007-10-13 Eli Zaretskii + + * dired.el (dired-warn-writable): New face. + (dired-warn-writable-face): New variable. + (dired-font-lock-keywords): Use dired-warn-writable-face, instead + of dired-warning-face, for group- and world-writable files. + +2007-10-13 Glenn Morris + + * progmodes/octave-mod.el (octave-looking-at-kw): Add doc string. + (octave-re-search-forward-kw, octave-re-search-backward-kw): + Add doc string, and an explicit COUNT argument. + (octave-scan-blocks, octave-beginning-of-defun): Explicitly pass + `inc' to search functions. + +2007-10-13 John W. Eaton + + * progmodes/octave-mod.el (octave-looking-at-kw) + (octave-re-search-forward-kw, octave-re-search-backward-kw): + New functions. + (octave-in-defun-p, calculate-octave-indent) + (octave-blink-matching-block-open, octave-beginning-of-defun) + (octave-auto-fill): Use octave-looking-at-kw instead of looking-at, + to search for regexps that contain case-sensitive keywords. + (octave-beginning-of-defun): Likewise, for octave-re-search-backward-kw. + (octave-scan-blocks): Likewise, for octave-re-search-forward-kw. + +2007-10-13 Richard Stallman + + * files.el (directory-abbrev-alist): Doc fix. + +2007-10-13 Jari Aalto + + * comint.el (comint-password-prompt-regexp): Add 'LDAP'. + +2007-10-12 Martin Rudalics + + * frame.el (set-frame-configuration): Assign name parameter only + if it has been set explicitly before. + + * window.el (handle-select-window): Revert part of 2007-10-06 + change setting the input focus. + +2007-10-12 Glenn Morris + + * cus-edit.el (custom-variable-menu, custom-face-menu) + (custom-group-menu): Check init-file-user rather than + user-init-file, in case cus-edit is loaded by site-run-file. + +2007-10-11 Juanma Barranquero + + * follow.el (follow-stop-intercept-process-output): + Use `follow-call-process-filter' rather than `process-filter'. + +2007-10-11 Tom Tromey + + * progmodes/gdb-ui.el (gdb-info-stack-custom): Ensure current + frame is visible. + +2007-10-10 Richard Stallman + + * emacs-lisp/debug.el (debugger-setup-buffer): Disable undo + in *Backtrace*. + + * faces.el (face-font-selection-order): Doc fix. + + * loadhist.el (unload-feature): Doc fix. + +2007-10-10 Vinicius Jose Latorre + + * ps-print.el: Fix the usage of :foreground and :background face + attributes. Reported by Nikolaj Schumacher . + (ps-print-version): New version 6.7.6. + (ps-face-attributes, ps-face-attribute-list, ps-face-background): + Fix code. + (ps-face-foreground-color-p, ps-face-background-color-p) + (ps-face-color-p): New inline funs. + +2007-10-10 Juanma Barranquero + + * follow.el: Change all instances of "Follow Mode" to "Follow + mode" in docstrings and messages. + +2007-10-09 Juanma Barranquero + + * faces.el (face-font-selection-order): Doc fix. + + * follow.el (follow-mode-hook, follow-mode): Doc fixes. + (follow-mode-off-hook): Mark as obsolete. + +2007-10-08 Richard Stallman + + * emacs-lisp/edebug.el (edebug-install-custom-print-funcs) + (edebug-install-custom-print, edebug-reset-print-funcs) + (edebug-uninstall-custom-print, edebug-uninstall-custom-print-funcs): + Functions deleted. + (edebug-prin1, edebug-print, edebug-prin1-to-string) + (edebug-format, edebug-message): Define directly as aliases. + +2007-10-08 Juanma Barranquero + + * follow.el (follow-mode): Don't run hooks twice. Use `when'. + +2007-10-07 Glenn Morris + + * simple.el (bad-packages-alist): Clarify Semantic and CEDET + version numbers. + +2007-10-06 Michael Albinus + + * net/tramp.el (tramp-completion-mode): Extend doc-string. + (tramp-completion-mode-p): Revert change from 2007-09-24. + Checking for `return' etc as last character is not sufficient, for + example in dired-mode when entering (revert-buffer) or + (dired-sort). + +2007-10-06 Martin Rudalics + + * window.el (mouse-autoselect-window-cancel): Don't cancel for + select-window or select-frame events. + (handle-select-window): When autoselecting window set input + focus. Restructure. + + * frame.el (focus-follows-mouse): Moved to frame.c. + * cus-start.el (all): Add focus-follows-mouse. + +2007-10-05 Chris Moore + + * server.el (server-kill-new-buffers): Doc fix. + +2007-10-05 Juanma Barranquero + + * bs.el (bs-mode): Make sure global-font-lock-mode doesn't + activate font-locking in the *buffer-selection* buffer. + (bs-show-sorted): Doc fix. + + * bs.el (bs--get-marked-string, bs--get-modified-string) + (bs--get-readonly-string, bs--get-size-string, bs--get-name) + (bs--get-mode-name, bs-mode): Fix typos in docstrings. + (bs--format-aux): Doc fix. + +2007-10-04 Juanma Barranquero + + * image-dired.el (image-dired-image-at-point-p): Fix typo in docstring. + +2007-10-04 Micha,Ak(Bl Cadilhac + + * progmodes/gud.el (gud-gud-gdb-command-name): Fix typo in docstring. + +2007-10-04 Nick Roberts + + * progmodes/gud.el (gud-gud-gdb-command-name): New option. + (gud-gdb): New function for old M-x gdb (text command mode). + (gud-gdb-command-name, gdb): Move to... + + * progmodes/gdb-ui.el: ...here and adapt doc string. + (gud-gdba-command-name, gdba): Delete. + +2007-10-03 Juanma Barranquero + + * bs.el: Don't defvar `font-lock-verbose'. + (bs-config-clear, bs-kill, bs-string-show-normally, bs-sort-functions) + (bs--get-file-name): Fix typos in docstrings. + (bs--show-header): Use `dolist' instead of `mapcar'. + (bs-mode): Set `show-trailing-whitespace' to nil. + (bs-buffer-sort-function, bs-mouse-select-other-frame) + (bs-visits-non-file, bs-sort-buffer-interns-are-last, bs-show): + Doc fixes. + +2007-10-02 Adam Hupp (tiny change) + + * progmodes/gdb-ui.el (pdb): Specify file for gud-break. + +2007-10-02 Nick Roberts + + * progmodes/gud.el (gdb): Make graphical mode the default and + switch to text command mode if appropriate, i.e., reverse previous + arrangement. + (gud-gdb-marker-filter): Adapt for above change. + + * progmodes/gdb-ui.el (gdb-init-1): Don't set the values + gud-minor-mode and gud-marker-filter. + (gdb-fullname-regexp): New variable. + (gud-gdba-marker-filter): Use it to switch to text command + mode if appropriate. + +2007-10-02 Richard Stallman + + * frame.el (cursor-in-non-selected-windows): Doc fix. + +2007-10-01 Nick Roberts + + * progmodes/gud.el (gud-display-line): Find source buffer even when + GUD buffer has its own frame. + +2007-10-01 Jan Dj,Ad(Brv + + * term/x-win.el (icon-map-list): Set to nil for 22.1 compatibility. + +2007-09-29 Jan Dj,Ad(Brv + + * term/x-win.el (x-gtk-stock-map): Version is 22.2. + +2007-09-29 Martin Rudalics + + * allout.el (allout-before-change-handler): Replace got-char by + goto-char. + +2007-09-28 Stefan Monnier + + * vc-svn.el (vc-svn-resolve-when-done, vc-svn-find-file-hook): New funs. + Used to try and automatically enabled smerge-mode in the presence of + conflicts and to call `svn resolved' when the conflicts are gone. + (vc-svn-parse-status): Remember the svn-specific status. + + * newcomment.el (comment-choose-indent): New function extracted + from comment-indent. Improve the alignment algorithm. + (comment-indent): Use it. + +2007-09-27 Juanma Barranquero + + * emacs-lisp/eldoc.el (eldoc-message-commands-table-size) + (eldoc-message-commands, eldoc-current-idle-delay): + Fix typos in docstrings. + + * progmodes/python.el (python-eldoc-function): Doc fix. + +2007-09-26 Eli Zaretskii + + * menu-bar.el (menu-bar-search-documentation-menu): Rename from + menu-bar-apropos-menu. All users changed. + (menu-bar-help-menu): Change menu symbols to better match the text + displayed by the menu. + +2007-09-25 Glenn Morris + + * view.el (view-search-no-match-lines): Add a doc string. + Rewrite to simplify and work better. + +2007-09-24 Michael Albinus + + * net/tramp.el (tramp-completion-mode-p): Rename from + `tramp-completion-mode'. Revert logic, check `return', `newline' + and such alike. Packages like Icicles tend to use other completion + characters but `tab' and `space' only. + (top): Require cl.el, when `copy-tree' is not available otherwise. + + * net/tramp-vc.el (tramp-vc-user-login-name): Get argument by + `ad-get-arg'. + +2007-09-24 Ville Skytt,Ad(B (tiny change) + + * net/tramp-vc.el (tramp-vc-user-login-name): + Use `vc-find-version' instead of `process-file' to check whether we + have a new enough vc that doesn't need the defadvice. + +2007-09-23 Dan Nicolaescu + + * files.el (file-name-sans-versions): Use [:alnum:] and also allow + #, @, : and ^. + +2007-09-23 Glenn Morris + + * ses.el (ses-calculate-cell): Don't evaluate unsafe formulae. + +2007-09-22 Dan Nicolaescu + + * pcvs-defs.el (cvs-mode-map): Bind TAB and backtab. + + * log-view.el (log-view-mode-map): Likewise. + + * diff-mode.el (diff-mode-shared-map): Likewise. + +2007-09-21 Francesco Potort,Al(B + + * progmodes/octave-inf.el (inferior-octave-mode): Use add-hook to + add inferior-octave-directory-tracker to the buffer-local value + of comint-input-filter-functions. + +2007-09-22 Dan Nicolaescu + + * files.el (file-name-sans-versions): Also allow `A-Z'. + + * vc.el: Mention all supported VC backends. + +2007-09-22 Richard Stallman + + * wid-edit.el (widget-specify-button): Don't merge mouse-face with + neighbouring buttons. + +2007-09-22 Andreas Schwab + + * files.el (file-name-sans-versions): Also allow `_'. + +2007-09-22 Glenn Morris + + * eshell/esh-mode.el (eshell-output-filter-functions): + Add eshell-postoutput-scroll-to-bottom. + +2007-09-21 Dan Nicolaescu + + * files.el (file-name-sans-versions): Allow - and a-z in version names. + + * log-view.el (log-view-mode-map, log-view-mode-menu): + Bind log-view-annotate-version. + (log-view-beginning-of-defun, log-view-end-of-defun) + (log-view-annotate-version): New functions. + (log-view-mode): Use log-view-beginning-of-defun and + log-view-end-of-defun. + +2007-09-21 Stefan Monnier + + * emacs-lisp/easy-mmode.el (define-minor-mode): Fix staging. + +2007-09-21 Kevin Ryde + + * international/mule.el (sgml-html-meta-auto-coding-function): + Bind `case-fold-search' to t. + +2007-09-20 Stefan Monnier + + * wid-edit.el (widget-image-insert): Don't merge mouse-face with + neighbouring buttons. + + * progmodes/compile.el (compilation-error-regexp-alist-alist): + Recognize gcc's use of "note" for informational messages. + +2007-09-20 Glenn Morris + + * textmodes/tex-mode.el (tex-validate-buffer): Use paragraph + motion functions, rather than hard-coding "\n\n". + (tex-validate-region): Check for eobp, to speed up. + (tex-next-unmatched-end): Doc fix. + +2007-09-19 Glenn Morris + + * textmodes/tex-mode.el (tex-terminate-paragraph): + Use backward-paragraph. + +2007-09-18 Stefan Monnier + + * textmodes/css-mode.el (css-electric-keys): electrick->electric. + (css-mode): Update correspondingly. + +2007-09-18 Stefan Monnier + + * vc-arch.el (vc-arch-extra-menu-map): New var and fun. + + * vc-hooks.el (vc-menu-entry): New var. + (vc-mode-line-map): Use it so that this menu also uses the extra-menu. + (menu-bar-tools-menu): Add the VC menu here rather than in menu-bar.el. + (vc-menu-map): Declare and initialize in one step. + + * menu-bar.el (vc-menu-map): Don't setup any more. + Instead, just create the proper spot in the menu. + +2007-09-18 Dan Nicolaescu + Stefan Monnier + + * vc.el: Document new VC operation `extra-menu'. + + * vc-hooks.el (vc-default-extra-menu, vc-menu-map-filter): New fun. + +2007-09-17 Dan Nicolaescu + + * vc-git.el (vc-git-log-view-mode): Add font-lock patterns for + Signed-off-by, Acked-by and Merge. + +2007-09-17 Glenn Morris + + * textmodes/tex-mode.el (tex-compilation-parse-errors): Prefer the + filename from `--file-line-error', if it is available. + +2007-09-17 Joe Wells (tiny change) + + * textmodes/tex-mode.el (tex-compilation-parse-errors): Also match + TeX `--file-line-error' format. + +2007-09-17 Glenn Morris + + * textmodes/tex-mode.el (tex-region): Simplify previous change, + handling the case where the region is not in `tex-main-file'. + (tex-region-1): Delete. + (tex-region-header): New function, doing the header part of the + old tex-region-1. + +2007-09-16 Stefan Monnier + + * ediff-init.el (ediff-verbose-p): This var is not a constant. + +2007-09-16 Drew Adams + + * cus-edit.el (custom-face-edit-activate): Doc fix. + +2007-09-16 Glenn Morris + + * textmodes/tex-mode.el (tex-region): Handle the case where the + region is not in `tex-main-file'. Move the old code that applies + to both cases... + (tex-region-1): ...to this new function. + +2007-09-15 Martin Rudalics + + * simple.el (blink-matching-open): Don't display message when no + paren is found within blink-matching-paren-distance characters. + Don't search prompt in blink-matching-paren-distance nil case. + +2007-09-14 Dan Nicolaescu + + * term/xterm.el (terminal-init-xterm): Add C-M- bindings. + +2007-09-14 Stefan Monnier + + * vc-mtn.el: New file. + + * vc-hooks.el (vc-handled-backends): Add Mtn. + +2007-09-13 Eli Zaretskii + + * files.el (find-file, find-file-other-window) + (find-file-other-frame, find-file-existing, find-file-read-only) + (find-file-read-only-other-window) + (find-file-read-only-other-frame) + (find-alternate-file-other-window, find-alternate-file): Doc fixes. + +2007-09-13 Jari Aalto + + * man.el (Man-default-man-entry): At end of line, continue looking + to the next line for possible end of hyphenated command. + +2007-09-13 Chris Moore + + * shell.el (shell-resync-dirs): Don't move the cursor relative to + the command being edited. + +2007-09-13 Nick Roberts + + * progmodes/gud.el (gdb-ready): New variable. + (gdb): Set it to nil. Set gud-running to nil here... + (gud-common-init): ...instead of here. + + * progmodes/gdb-ui.el (gdba, gdb-send, gdb-source-info): + Use gdb-ready. Discard input until GDB is ready to accept it. + +2007-09-12 Dan Nicolaescu + + * term/xterm.el (terminal-init-xterm): Add bindings for M-S- and + C-M-S- keys. + +2007-09-12 Martin Rudalics + + * dired.el (dired-warning): Inherit from font-lock-warning-face to + make it show up with eight colors. + +2007-09-12 Stefan Monnier + + * diff-mode.el (diff-sanity-check-hunk): Fix up the case when unified + diffs are concatenated with no intervening line. + +2007-09-10 Dave Love + + * progmodes/python.el: Merge changes from Dave Love's v2007-Sep-10. + (python-font-lock-keywords): Update to the 2.5 version of the language. + (python-quote-syntax): Let-bind font-lock-syntactic-keywords to nil. + (python-backspace): Only behave funny in code. + (python-compilation-regexp-alist): Add PDB stack trace regexp. + (inferior-python-mode): Add PDB prompt regexp. + (python-fill-paragraph): Refine the fenced-string regexp. + (python-find-imports): Handle imports spanning several lines. + (python-mode): Add `class' to hideshow support. + +2007-09-08 Stefan Monnier + + * pcvs.el (cvs-mode-add-change-log-entry-other-window): Use + add-log-buffer-file-name-function rather than bind buffer-file-name, + so we dont end up calling change-log-mode in *cvs* when `fi' is the + ChangeLog file itself. + + * outline.el (outline-flag-region): Use front-advance. + +2007-09-07 Ilya Zakharevich + + * progmodes/cperl-mode.el: Merge upstream 5.23. + (cperl-where-am-i): Remove function. + (cperl-backward-to-noncomment): Don't go too far when skipping POD/HEREs + (cperl-sniff-for-indent): De-invert [string] and [comment]. + When looking for label, skip s:m:y:tr. + (cperl-indent-line): Likewise. + (cperl-mode): Don't assume `font-lock-multiline' is auto-local. + (cperl-windowed-init): Wrong `ps-print' handling. + Both thanks to Chong Yidong. + (cperl-look-at-leading-count): Could fail with unfinished RExen. + (cperl-find-pods-heres): If the second part of s()[] is missing, + don't try to highlight delimiters... + +2007-09-07 Stefan Monnier + + * progmodes/compile.el (compilation-get-file-structure): Complete last + change by also using spec-directory in the puthash. + +2007-09-07 Riccardo Murri + + * vc-bzr.el (vc-bzr-admin-lastrev): New constant. + (vc-bzr-file-name-relative): Use 'when' instead of 'and'. + (vc-bzr-status): Fix shadowing of variable 'status'. + (vc-bzr-workfile-version): Use correct path to 'last-revision' file. + Use `expand-file-name' instead of `concat'. + (vc-bzr-annotate-command): Use option name '--long' instead of '-l'. + Update annotation line regexp. Fixes launchpad.net [Bug 137435]. + +2007-09-05 Jason Rumney + + * frame.el (focus-follows-mouse): Doc-fix. Change default on w32. + +2007-09-02 Richard Stallman + + * emacs-lisp/lisp-mode.el (lisp-indent-offset): Make defcustom. + Add `safe-local-variable' property. + (lisp-body-indent): Likewise. + +2007-09-02 Jan Dj,Ad(Brv + + * info.el (info-tool-bar-map): Add :rtl keyword to right/left-arrow and + prev/next-node. + + * term/x-win.el (x-gtk-stock-map, icon-map-list): New variables. + (x-gtk-map-stock): New function. + +2007-09-02 Glenn Morris + + * comint.el (comint-mode): Don't set scroll-conservatively. + + * eshell/em-unix.el (eshell/time): Stringify and flatten the + non-command arguments. + +2007-09-01 Thien-Thi Nguyen + + * emacs-lisp/bytecomp.el (byte-recompile-directory): + Fix bug: Don't expand top-level file name more than once. + Reported by Dmitry Antipov . + +2007-09-01 Richard Stallman + + * files.el (hack-local-variables-confirm): Rename arg VARS to ALL-VARS. + Add doc string. + +2007-08-30 Richard Stallman + + * speedbar.el (speedbar-frame-reposition-smartly) + (speedbar-set-mode-line-format, speedbar-reconfigure-keymaps) + (speedbar-check-vc): Don't use dframe-xemacsp. + +2007-08-30 Martin Rudalics + + * files.el (backup-buffer-copy): Try to overwrite old backup first. + +2007-08-29 Martin Rudalics + + * repeat.el (repeat): Use last-repeatable-command instead of + real-last-command. Run pre- and post-command hooks for + self-insertion. Update doc-string. + +2007-08-28 Glenn Morris + + * progmodes/cc-langs.el (c-constant-kwds): Add java: true, false, null. + +2007-08-27 Alexandre Julliard + + * vc-git.el (vc-git-state): Call git-add --refresh to update the + state of the file. + (vc-git-workfile-unchanged-p): Delegate implementation to vc-git-state. + (vc-git-create-repo): Fix invalid command. + +2007-08-27 Richard Stallman + + * textmodes/flyspell.el (flyspell-mode): + Catch errors in flyspell-mode-on. + +2007-08-27 Thien-Thi Nguyen + + * progmodes/modula2.el (m2-definition, m2-module): + Don't use previous-line. Reported by T. V. Raman. + +2007-08-27 YAMAMOTO Mitsuharu + + * term/mac-win.el (mac-handle-toolbar-switch-mode): Add explicit + argument to tool-bar-mode call. + +2007-08-27 Glenn Morris + + * diff-mode.el (diff-find-file-name): Only accept regular files, + to rule out /dev/null, directories, etc. + +2007-08-25 Dan Nicolaescu + + * progmodes/cperl-mode.el (cperl-indent-level): Autoload the + safe-local-variable setting. + * progmodes/perl-mode.el (perl-indent-level): Likewise. + +2007-08-25 Stefan Monnier + + * uniquify.el (uniquify-rationalize-file-buffer-names): Check liveness + of buffers in uniquify-managed. + + * simple.el (invisible-p): Rename from text-invisible-p. + Update callers. + +2007-08-25 Alan Mackenzie + + * progmodes/cc-langs.el (c-other-decl-block-key-in-symbols-alist): + new language variable. + + * progmodes/cc-engine.el (c-brace-anchor-point): New function. + (c-add-stmt-syntax): Give accurate anchor points for "namespace", + "extern" etc., rather than BOI. Fix addition of spurious + syntactic-symbol 'defun-block-intro, replacing it with + 'innamespace, etc. + +2007-08-25 Reiner Steib + + * pcvs.el (cvs-query-directory): Only prompt when prefix is given. + Don't behave differently when executed via M-x. Add doc string. + +2007-08-24 Ulrich Mueller (tiny change) + + * files.el (backup-buffer-copy): Don't wrap delete in + condition-case, only try to delete if file exists. + +2007-08-24 Glenn Morris + + * files.el (backup-buffer-copy): Revert 2007-08-22 change. + +2007-08-23 Stefan Monnier + + * progmodes/cperl-mode.el (defcustom, x-color-defined-p, cperl-is-face) + (cperl-is-face, cperl-force-face, cperl-etags-snarf-tag, cperl-mode) + (cperl-etags-snarf-tag, cperl-etags-goto-tag-location, cperl-init-faces) + (cperl-etags-goto-tag-location): Use new style backquotes. + + * subr.el (complete-with-action): Backport from trunk (for vc-arch.el). + (dynamic-completion-table): Use it it. + + * net/browse-url.el: Remove spurious * in custom docstrings. + (browse-url-filename-alist): Use new-style backquote. + + * emacs-lisp/backquote.el (backquote-unquote-symbol) + (backquote-splice-symbol): Clarify they're not new-style unquotes. + + * emacs-lisp/edebug.el (edebug-list-form, edebug-match-symbol, \,) + (\,@): Backslash the , and ,@ which are not new-style unquotes. + + * textmodes/texinfmt.el (\,): Clarify it's not a new-style unquote. + + * net/socks.el (socks-username/password-auth-filter): + Remove unused vars `state' and `desired-len'. + (socks-parse-services, socks-nslookup-host): Use with-current-buffer. + (socks-wait-for-state-change): Use new-style backquotes. + + * pcvs.el (cvs-mode-status): Fix long-standing typo. + + * emacs-lisp/bytecomp.el (byte-compile-from-buffer): Check old-style + backquotes after each `read' rather than once per buffer. + + * dframe.el: Remove spurious * in custom docstrings. + (dframe-xemacsp): Remove, use (featurep 'xemacs) instead. + (dframe-xemacs20p): Remove, inline at the sole use point. + (defface): Don't defvar the face, don't use old-style backquote. + (defcustom): Don't use old-style backquote. + (dframe-frame-parameter, dframe-mouse-event-p): + Make it obvious that it's always defined. + (dframe-popup-kludge): New function to replace + dframe-xemacs-popup-kludge and dframe-xemacs-popup-kludge. + (dframe-frame-mode, dframe-set-timer-internal) + (dframe-mouse-set-point): Remove use of with-no-warnings from + XEmacs-specific code. + (dframe-set-timer-internal): Fix very old bug with + post-command-idle-hook. + + * emacs-lisp/byte-opt.el (byte-optimize-featurep): Handle `sxemacs'. + +2007-08-22 Chong Yidong + + * image-mode.el (image-minor-mode): Use image-mode-text-map. + +2007-08-22 Reiner Steib + + * sort.el (sort-fold-case, sort-numeric-base): Mark as + safe-local-variable. + +2007-08-22 Johan Bockg,Ae(Brd + + * net/browse-url.el (browse-url-emacs): New function. + +2007-08-22 Stefan Monnier + + * emacs-lisp/bytecomp.el (byte-compile-from-buffer): Display a big fat + warning if the file uses old style backquotes. + + * emacs-lisp/bytecomp.el (byte-compile-log-file) + (byte-recompile-directory, byte-compile-file) + (byte-compile-from-buffer): Use with-current-buffer. + + * simple.el (text-invisible-p): Rename from line-move-invisible-p. + (line-move-invisible-p): Keep as an obsolete alias, just to be safe. + (line-move-1, line-move-finish, line-move-to-column) + (move-end-of-line, move-beginning-of-line): Use new name. + +2007-08-22 Glenn Morris + + * files.el (backup-buffer-copy): Check backup directory is + writable, to avoid infloop deleting old backup. + + * mail/rmail.el (rmail-movemail-variant-p): Call on load to set + movemail related variables. + (rmail-insert-inbox-text): Use only rmail-movemail-program, which + will now be set before this is called. + +2007-08-21 Stefan Monnier + + * emacs-lisp/backquote.el (backquote-delay-process): Fix last change. + + * progmodes/ada-mode.el: Fix up comment style in header. + (ada-check-emacs-version): Remove. + (ada-mode): Set parse-sexp-* even if they don't exist: can't hurt. + (ada-region-selected): Use (featurep 'xemacs) rather than contortions + to try and quieten the byte-compiler. + (ada-create-keymap): Use [(..)] keys, which work on both (X)Emacs. + + * vc.el (vc-annotate-warp-version): Don't use previous-line. + +2007-08-20 Johannes Weiner (tiny change) + + * emacs-lisp/lisp-mode.el (preceding-sexp): New fun, the code was + extracted from `eval-last-sexp-1'. + (eval-last-sexp-1): Call `preceding-sexp'. + +2007-08-19 Glenn Morris + + * Makefile.in (custom-deps, finder-data, autoloads, recompile) + (progmodes/cc-mode.elc, mh-e/mh-loaddefs.el): Use $(emacs) rather + than $(EMACS), so that EMACSLOADPATH is set. Prevents any system + shadow files messing up the compilation. + +2007-08-18 Glenn Morris + + * progmodes/scheme.el (scheme-mode-variables): + Set font-lock-comment-start-skip. + +2007-08-18 Martin Rudalics + + * progmodes/ada-mode.el (ada-create-syntax-table): + Move set-syntax-table from here to ... + (ada-mode): ... here. Don't change global value of comment-multi-line. + Call new function ada-initialize-syntax-table-properties. + Add ada-handle-syntax-table-properties to font-lock-mode-hook. + (ada-deactivate-properties, ada-initialize-properties): + Replace by new functions ... + (ada-handle-syntax-table-properties, ada-set-syntax-table-properties) + (ada-initialize-syntax-table-properties): ... to set up syntax-table + properties uniformly, independently from whether font-lock-mode + is enabled or not. Handle read-only buffers and do not change + undo-list when setting syntax-table properties. + (ada-after-change-function): Use ada-set-syntax-table-properties. + +2007-08-17 Bob Rogers (tiny change) + + * progmodes/cperl-mode.el (cperl-look-at-leading-count) + (cperl-find-pods-heres): Fix an error when typing expressions like + `s{a}{b}'. + +2007-08-17 Glenn Morris + + * progmodes/compile.el (compilation-get-file-structure): Make use + of the directory part when checking for an existing entry, to + handle files with same basename in different directories. + +2007-08-16 Vinicius Jose Latorre + + * ps-print.el (ps-header-font-size, ps-header-title-font-size) + (ps-footer-font-size, ps-line-number-font-size, ps-line-spacing) + (ps-paragraph-spacing): Docstring fix. + +2007-08-16 Stefan Monnier + + * smerge-mode.el (smerge-resolve): New arg `safe'. + (smerge-resolve-all, smerge-batch-resolve): New function. + (smerge-refine): Make sure `diff' returns the expected result. + (smerge-parsep-re): New const. + (smerge-mode): Use it to adjust paragraph-separate. + + * progmodes/perl-mode.el (perl-font-lock-syntactic-keywords): + Correctly match / regexp matchers as first char on a line when + fontifying only that line. + + * emacs-lisp/cl-macs.el (cl-transform-lambda): Preserve the match-data. + +2007-08-16 Glenn Morris + + * ps-print.el (ps-font-size): Doc fix. + +2007-08-15 Stefan Monnier + + * vc-bzr.el: Don't fiddle with vc-handled-backend. + (vc-bzr-registered): Don't redundantly protect against + file-error. Actually use the format-specific code. + (vc-bzr-buffer-nonblank-p): Remove. + (vc-bzr-status): Change `kindchange' -> `kindchanged'. + +2007-08-15 Glenn Morris + + * mail/undigest.el (rmail-digest-parse-rfc1153sloppy): Be even + sloppier, for the sake of GNU Mailman. + (rmail-digest-rfc1153): Initialize `result' correctly. + +2007-08-14 Glenn Morris + + * simple.el (bad-packages-alist): New constant. + (bad-package-check): New function. Together, these two add + elements to `after-load-alist' to check for problematic external + packages. + * emulation/cua-base.el: Move CUA-mode check to `bad-packages-alist'. + +2007-08-13 Stephen Leake + + * pcvs-parse.el (cvs-parse-table): Handle additional instance of + optional quotes around files in NEED-UPDATE . REMOVED case. + + * progmodes/ada-xref.el (ada-gnatls-args): Fix docstring. + (ada-treat-cmd-string): Improve error message. + (ada-do-file-completion): Call `ada-require-project-file', so + project variables are set properly. + (ada-prj-find-prj-file): Delete Emacs 20.2 support. + (ada-gnatfind-buffer-name): New constant. + (ada-find-any-references): Use new constant. Set buffer name + properly in compilation-start. Toggle read-only properly. + (ada-find-in-src-path): Fix spelling error in docstring. + + * progmodes/vhdl-mode.el (vhdl-update-progress-info): Avoid divide + by zero error. + +2007-08-13 Nick Roberts + + * progmodes/gdb-ui.el (gdb-send): Handle CTRL-D more carefully. + +2007-08-12 Richard Stallman + + * pcvs.el (cvs-reread-cvsrc, cvs-checkout, cvs-mode-checkout) + (cvs-execute-single-file): Use new name split-string-and-unquote. + (cvs-header-msg): Use new name combine-and-quote-strings. + + * emulation/vi.el (vi-next-line): Ignore return value of line-move. + + * progmodes/gud.el (gud-common-init): Use new name + split-string-and-unquote. + + * progmodes/flymake.el (flymake-err-line-patterns): Fix infloop + in javac regexp. + + * pcvs-util.el (cvs-qtypedesc-strings): Use new names + combine-and-quote-strings and split-string-and-unquote. + + * subr.el (combine-and-quote-strings): Rename from strings->string. + (split-string-and-unquote): Rename from string->strings. + +2007-08-10 Stefan Monnier + + * log-view.el (log-view-font-lock-keywords): Use `eval' so as to adapt + to buffer-local settings. + + * emacs-lisp/backquote.el (backquote-delay-process): New function. + (backquote-process): Add internal arg `level'. Use the two to + correctly handle nested backquotes. + +2007-08-09 Riccardo Murri + + * vc-bzr.el (vc-bzr-registered): Use \0 instead of literal NULs. + (vc-bzr-state-words): Add "kind changed" state word. + (vc-bzr-status): New function. Return Bzr idea of file status, + which is different from VC's. + (vc-bzr-state): Use vc-bzr-status. + (vc-workfile-unchanged-p): Use vc-bzr-status. + (vc-bzr-revert): Use synchronous process; expect exitcode 0. + (vc-dired-state): Process "kind changed" state word. + +2007-08-09 Stefan Monnier + + * vc-hooks.el (vc-default-find-file-not-found-hook): Do nothing. + + * vc-rcs.el (vc-rcs-find-file-not-found-hook): + Move from vc-default-find-file-not-found-hook. + +2007-08-09 Edward O'Connor (tiny change) + + * url/url-auth.el (url-basic-auth): When prompting for username + and password, default to the username and password in the URL. + +2007-08-08 Stefan Monnier + + * man.el: Remove spurious * in docstrings. + Merge defvars and toplevel setq-defaults. + (Man-highlight-references0): Limit=nil rather than point-max. + (Man-mode-map): Move initialization into the declaration. + (Man-strip-page-headers, Man-unindent): Use dolist & inhibit-read-only. + (Man-view-header-file): Use expand-file-name rather than concat. + (Man-notify-when-ready, Man-bgproc-sentinel): Use with-current-buffer. + + * man.el (Man-next-section): Make sure we do not move backward. + +2007-08-08 Vinicius Jose Latorre + + * ps-print.el (ps-default-fg, ps-default-bg): Docstring fix. + (ps-begin-job): Use ps-default-fg and ps-default-bg only when + ps-print-color-p is neither nil nor black-white. Reported by Christian + Schlauer . + +2007-08-08 Stefan Monnier + + * files.el (auto-mode-alist): Use the purecopied text (duh!). + +2007-08-08 Andreas Schwab + + * mail/mailabbrev.el (sendmail-pre-abbrev-expand-hook): Check for + self-insert-command, not self-insert. + +2007-08-08 Glenn Morris + + * emacs-lisp/checkdoc.el (checkdoc-ispell-lisp-words): Remove `iff'. + + * Replace `iff' in doc-strings and comments. + + * help-mode.el (help-make-xrefs): Search for symbol constituents, + rather than just `-'. + +2007-08-08 Martin Rudalics + + * dired.el (dired-pop-to-buffer): + * mouse-drag.el (mouse-drag-should-do-col-scrolling): + * calendar/calendar.el (generate-calendar-window): + * progmodes/compile.el (compilation-set-window-height): + * textmodes/two-column.el (2C-two-columns, 2C-merge): + Use window-full-width-p instead of comparing frame-width and + window-width. + + * progmodes/compile.el (compilation-find-buffer): Remove extra + argument in call to compilation-buffer-internal-p. + +2007-08-07 Michael Albinus + + * net/tramp.el (tramp-handle-file-remote-p): Handle optional + parameters IDENTIFICATION and CONNECTED. + (tramp-handle-insert-file-contents): VISIT must be handled after + insertion of the local copy. Reported by Peter Gordon + . + (tramp-file-name-handler): No special handling for + `expand-file-name'. But for `file-name-as-directory'. + (tramp-find-shell, tramp-open-connection-telnet) + (tramp-open-connection-rsh, tramp-open-connection-su) + (tramp-open-connection-multi) + (tramp-open-connection-setup-interactive-shell): Guard against + $PROMPT_COMMAND shell var. Reported by Steve Youngs + . + (tramp-append-tramp-buffers): Replace "sensible" by "sensitive" in + the hint. + + * net/trampver.el: Update release number. + +2007-08-07 Tom Tromey + + * progmodes/tcl.el (tcl-indent-level, tcl-continued-indent-level): + Add safe-local-variable property. + +2007-08-07 Chong Yidong + + * image-mode.el (image-toggle-display): Use image-refresh. + + * longlines.el (longlines-decoded): New variable. + (longlines-mode): Avoid encoding or decoding the buffer twice. + +2007-08-07 Riccardo Murri + + * vc-bzr.el: Remove comments about vc-bzr.el being a modified + unofficial version. + (vc-bzr-command): Remove redundant setting of process-connection-type. + (vc-bzr-admin-checkout-format-file): Add autoload. + (vc-bzr-root-dir): Remove in favor of vc-bzr-root. + (vc-bzr-root): Switch to implementation of vc-bzr-root-dir. + (vc-bzr-registered): Compare dirstate format tag with known good + value, abort parsing if match fails. Warn user in docstring. + (vc-bzr-workfile-version): Case for different Bzr branch formats. + See bzrlib/branch.py in Bzr sources. + (vc-bzr-diff): First argument FILES may be a string rather than a list. + (vc-bzr-shell-command): Remove in favor of + vc-bzr-command-discarding-stderr. + (vc-bzr-command-discarding-stderr): New function. + +2007-08-06 Riccardo Murri + + * vc-bzr.el (vc-bzr-registered): Gracefully handle missing "bzr" + program, and return nil + (vc-bzr-state): Gracefully handle missing "bzr" program, and return nil. + (vc-bzr-state): Look for path names relative to the repository + root after status keyword. + (vc-bzr-file-name-relative): New function. + (vc-bzr-admin-dirname): Reinstate, as other vc-bzr-admin-... paths + depend on it. + (vc-bzr-admin-dirname, ...-checkout-format-file) + (...-branch-format-file, ...-revhistory): Paths to some Bzr internal + files that we now parse directly for speed. + (vc-bzr-root-dir): Use `vc-bzr-admin-checkout-format-file' as witness. + (vc-bzr-registered): Only parse vc-bzr-admin-dirstate file if it exists. + (vc-bzr-state): "bzr status" successful only if exitcode is 0 + (vc-bzr-root): Use `vc-bzr-shell-command'. Stderr may contain + Bzr warnings, so we must discard it. + (vc-bzr-workfile-version): Speedup counting lines from + `vc-bzr-admin-revhistory' file, but fallback to spawning "bzr revno" + if that file doesn't exist. + (vc-bzr-responsible-p): Use `vc-bzr-root' instead of + `vc-bzr-root-dir' for speed. Add `vc-bzr-admin-dirname' + (not ".bzr"!) to `vc-directory-exclusion-list' + (vc-bzr-shell-command): New function. + +2007-08-06 Tom Tromey + + * diff-mode.el (diff-unified->context, diff-reverse-direction) + (diff-fixup-modifs): Typo in docstring. + +2007-08-06 Stefan Monnier + + * emulation/tpu-edt.el (tpu-current-line): Use posn-at-point and + count-screen-lines. + (tpu-edt-off): Disable relevant pieces of advice. + + * emulation/tpu-extras.el (tpu-before-save-hook): Rename from + tpu-write-file-hook. Activate it with add-hook on buffer-save-hook. + (newline, newline-and-indent, do-auto-fill): Use advice instead of + redefining the function. + (tpu-set-scroll-margins): Activate the pieces of advice. + +2007-08-06 Michael Albinus + + * net/ange-ftp.el (ange-ftp-hook-function): Catch also errors in + process-filter. + +2007-08-06 Martin Rudalics + + * help.el (resize-temp-buffer-window): Use window-full-width-p + instead of comparing frame-width and window-width. + +2007-08-05 Peter Povinec yahoo.com> (tiny change) + + * term.el: Honor term-default-fg-color and term-default-bg-color + settings when modifying term-current-face. + (term-default-fg-color, term-default-bg-color): Initialize from + default term-current-face. + (term-mode, term-reset-terminal): Set term-current-face with + term-default-fg-color and term-default-bg-color. + (term-handle-colors-array): term-current-face has term-default-fg-color + and term-default-bg-color after reset escape sequence. + (term-handle-colors-array): Set term-current-color with + term-default-fg/bg-color instead of ansi-term-color-vector when the + index (term-ansi-current-color or term-ansi-current-bg-color) is zero. + +2007-08-05 Michael Albinus + + * files.el (set-auto-mode): Handle also remote files wrt + `auto-mode-alist'. + + * net/tramp.el (tramp-handle-file-remote-p): Return a string as + remote identification. + +2007-08-04 Glenn Morris + + * autorevert.el (auto-revert-tail-mode): auto-revert-tail-pos is + zero, not nil, when the library is first loaded. Check for a file + that has been modified on disk. + + * progmodes/cperl-mode.el (cperl-compilation-error-regexp-alist): + Remove duplicate defvar preventing initialization. + (cperl-mode): Fix compilation-error-regexp-alist-alist setting. + +2007-08-03 Miles Bader + + * vc-hooks.el (vc-handled-backends): Change capitalization of VC + backend names for new backends to `Git', `Hg', and `Bzr'. + * vc-hg.el (vc-hg-dired-state-info): Use `Hg' as VC backend name, + not `HG'. + * vc-git.el (vc-git-dired-state-info): Use `Git' as VC backend + name, not `GIT'. + * vc-bzr.el (vc-bzr-dir-state, vc-bzr-dired-state-info) + (vc-bzr-unload-hook): Use `Bzr' as VC backend name, not `BZR'. + +2007-08-03 Glenn Morris + + * net/telnet.el (telnet-mode): Set comint-use-prompt-regexp to t. + +2007-08-02 Richard Stallman + + * mail/rmailsum.el (rmail-make-summary-line): Find end of msg number + to update deleted flag. + + * cus-edit.el (customize-apropos, customize-apropos-options) + (customize-apropos-faces, customize-apropos-groups): Improve prompt. + + * menu-bar.el (menu-bar-help-menu): Add "About GNU" menu item. + + * startup.el (fancy-splash-head, startup-echo-area-message): + Change message text. + + * emulation/tpu-edt.el (next-line-internal): Setting deleted. + All callers use line-move. + + * progmodes/compile.el (compilation-find-buffer): Return current + buffer immediately if suitable. + (compile, compilation-buffer-name, compilation-start): Doc fixes. + +2007-08-02 Stefan Monnier + + * vc-bzr.el (vc-bzr-admin-dirstate): Rename from `...-dirname'. + Make it more discriminating and more useful. + (vc-bzr-root-dir): Use new name. + (vc-bzr-registered): Use new name and look at the dirstate file to + determine if it's registered or not without running `bzr'. + +2007-08-01 Eric Hanchrow (tiny change) + + * ibuf-ext.el (ibuffer-mark-old-buffers): Docstring fix. + +2007-07-31 Drew Adams + + * cus-edit.el (custom-group-value-create, custom-goto-parent): + Fix parent groups link. + +2007-07-31 Daiki Ueno + + * faces.el (face-normalize-spec): New function. + (frame-set-background-mode): Normalize face-spec before calling + face-spec-match-p. + +2007-07-31 Stefan Monnier + + * vc-bzr.el: New file (copied from the trunk). + + * vc-hooks.el (vc-handled-backends): Add BZR. + (vc-find-file-hook): Failsafe if the backend's `registered' + function burps. + + * server.el (server-window): Add switch-to-buffer-other-frame option. + +2007-07-30 Dan Nicolaescu + + * vc-git.el (vc-directory-exclusion-list, vc-handled-backends): Remove. + (vc-git-revision-completion-table): Enable. + + * vc-hooks.el (vc-handled-backends): Add GIT and HG. + + * vc.el (vc-directory-exclusion-list): Add .git and .hg. + + * vc-hg.el (vc-hg-revision-completion-table): Re-enable. + (vc-hg-registered): Set the vc-state property. + + * diff-mode.el (diff-mode-menu): New entries. + +2007-06-30 Stefan Monnier + + * diff-mode.el (diff-beginning-of-file-and-junk): New function. + (diff-file-kill): Use it. + (diff-beginning-of-hunk): Add arg `try-harder' using it. + (diff-restrict-view, diff-find-source-location, diff-refine-hunk): + Use it so they find the hunk even when we're in the file header. + + * vc.el: Add new VC operation `revision-completion-table'. + (vc-default-revision-completion-table): New function. + (vc-version-diff, vc-version-other-window): Use it to provide + completion of revision names if the backend provides it. + + * vc-arch.el (vc-arch--version-completion-table) + (vc-arch-revision-completion-table): New functions to provide + completion of revision names. + + * vc-cvs.el: Require CL. + (vc-cvs-revision-table, vc-cvs-revision-completion-table): + New functions to provide completion of revision names. + +2007-07-29 Kimit Yada (tiny change) + + * emacs-lisp/copyright.el (copyright-update-year, copyright-update) + (copyright-fix-years, copyright): Correctly handle the case where + copyright-limit is nil. + +2007-07-28 Konstantin Novitsky (tiny change) + + * progmodes/python.el (run-python): Fix path separator under w32. + +2007-07-28 Dan Nicolaescu + + * vc-git.el: New File. + +2007-07-28 Alan Mackenzie + + Fix problem with modes derived from CC Mode: + * progmodes/cc-mode.el (c-make-emacs-variables-local): Move this + macro to cc-langs. + (c-init-language-vars-for): Remove call to above macro. + * progmodes/cc-langs.el (c-make-emacs-variables-local): Macro has + been moved to here. + (c-make-init-lang-vars-fun): Call c-make-emacs-variables-local. + +2007-07-28 Eli Zaretskii + + * net/trampver.el: Fix the `coding' cookie. + +2007-07-25 Nick Roberts + + * add-log.el (change-log-redate): Remove (not needed anymore and + doesn't appear to work). + +2007-07-25 Glenn Morris + + * Relicense all FSF files to GPLv3 or later. + + * COPYING: Switch to GPLv3. + +2007-07-25 Stefan Monnier + + * pcvs.el (cvs-temp-buffer): Undo last ill-conceived change. + Replace it with another one which disables undo before calling + erase-buffer and then turns it back on if needed. + +2007-07-24 Vinicius Jose Latorre + + * ps-print.el: Problem with foreground and background color when + printing a buffer with and without faces. Reported by Christian + Schlauer . + (ps-print-version): New version 6.7.5. + (ps-default-fg): Change default value to nil, so black color is used + when a face does not specify a foreground color. + (ps-default-bg): Change default value to nil, so white color is used + for background color. + (ps-begin-job): Fix code. + +2007-07-24 Dan Nicolaescu + + * vc-hg.el (vc-hg-revision-completion-table): Temporarily comment out. + +2007-07-24 Alan Mackenzie + + * emacs-lisp/bytecomp.el (byte-compile-from-buffer): + Initialise byte-compile-unresolved-functions before rather than + after a compilation. + (byte-compile-unresolved-functions): Amplify doc string. + +2007-07-24 Glenn Morris + + * calendar/cal-tex.el (cal-tex-holidays, cal-tex-diary) + (cal-tex-rules, cal-tex-buffer, cal-tex-24) + (cal-tex-cursor-month-landscape, cal-tex-cursor-month) + (cal-tex-cursor-week, cal-tex-cursor-week2) + (cal-tex-cursor-week-iso, cal-tex-week-hours) + (cal-tex-cursor-week-monday, cal-tex-weekly4-box) + (cal-tex-cursor-filofax-2week, cal-tex-cursor-filofax-week) + (cal-tex-cursor-filofax-daily, cal-tex-daily-page): Doc fix. + +2007-07-24 Stefan Monnier + + * pcvs.el (cvs-temp-buffer): Disable undo in temp buffers. + +2007-07-23 Stefan Monnier + + * ses.el (ses-cleanup): Prevent Emacs from spuriously checking if the + underlying file is uptodate. + +2007-07-23 Richard Stallman + + * progmodes/octave-inf.el (inferior-octave-prompt): Accept .exe. + +2007-07-23 Stefan Monnier + + * progmodes/sh-script.el (sh-font-lock-backslash-quote) + (sh-font-lock-flush-syntax-ppss-cache): New funs. + (sh-font-lock-syntactic-keywords): Use them to distinguish the + different possible cases for \'. + (sh-font-lock-paren): Mark the relevant text with font-lock-multiline. + + * vc-hooks.el (vc-find-root): Walk up the tree to find an existing + `file' from which to start the search and fix case where `file' is the + current directory and the root as well. + + * pcvs.el (cvs-mode-add-change-log-entry-other-window): Use a directory + name for buffer-file-name if it refers to a directory. + +2007-07-22 Jason Rumney + + * w32-fns.el (set-default-process-coding-system): Use dos line ends + for input to cmdproxy on all versions of Windows. + Use dos line ends for input to plink. + + * comint.el (comint-simple-send): Concat newline before sending. + (comint-password-prompt-regexp): Recognize plink's passphrase prompt. + +2007-07-22 Juri Linkov + + * isearch.el (isearch-edit-string): Save old point and + isearch-other-end to old-point and old-other-end before reading + the search string from minibuffer. After exiting minibuffer set + point to old-other-end if point and the search direction is the + same as before reading the search string. + (isearch-del-char): Don't set isearch-yank-flag to t. Put point + to isearch-other-end. Instead of isearch-search-and-update call + three functions isearch-search, isearch-push-state and isearch-update. + +2007-07-22 Ralf Angeli + + * textmodes/reftex.el (reftex-access-parse-file): Do not risk + destroying an existing buffer. + +2007-07-22 Jan Dj,Ad(Brv + + * startup.el (command-line-x-option-alist): Use x-handle-no-bitmap-icon. + + * term/x-win.el (x-handle-no-bitmap-icon): New function. + +2007-07-22 Ralf Angeli + + * textmodes/reftex.el (reftex-access-parse-file): Create parse + file in a way that does not interfere with recentf. + +2007-07-21 Thien-Thi Nguyen + + * image-dired.el (image-dired-sane-db-file): New func. + (image-dired-write-tags, image-dired-remove-tag) + (image-dired-list-tags, image-dired-write-comments) + (image-dired-get-comment, image-dired-mark-tagged-files) + (image-dired-create-gallery-lists): Call new func. + Reported by Dieter Wilhelm . + +2007-07-21 Dan Nicolaescu + + * vc-hg.el (vc-hg-diff): Use vc-hg-command. + (vc-hg-dir-state): Fix loop. + (vc-hg-print-log): Fix expected return value for vc-hg-command. + (vc-hg-next-version, vc-hg-delete-file, vc-hg-rename-file) + (vc-hg-register, vc-hg-create-repo, vc-hg-checkin) + (vc-hg-revert): Likewise. + (vc-hg-revision-table, vc-hg-revision-completion-table): New functions. + +2007-07-21 Thien-Thi Nguyen + + * emacs-lisp/lisp-mode.el (calculate-lisp-indent): In the + case of alignment under a constant symbol, find and consider + the sexp actually at indentation to be the "last sexp". + +2007-07-20 Eli Zaretskii + + * makefile.w32-in (install-lisp-SH, install-lisp-CMD): New targets. + (install): Use them to copy all *.el files before *.elc. + (clean): Don't delete *~. + +2007-07-20 Dan Nicolaescu + + * vc-hg.el (vc-hg-workfile-unchanged-p): New function. + +2007-07-19 Dan Nicolaescu + + * vc-hg.el (vc-hg-registered): Replace if with when. + (vc-hg-state): Deal with nonexistent files. + +2007-07-18 Juanma Barranquero + + * follow.el (follow-mode-hook, follow-mode-off-hook, follow-mode) + (follow-delete-other-windows-and-split, follow-recenter) + (follow-windows-aligned-p, follow-point-visible-all-windows-p) + (follow-redisplay, follow-estimate-first-window-start) + (follow-xemacs-scrollbar-support, follow-intercept-process-output): + Fix typos in docstrings. + +2007-07-17 Thien-Thi Nguyen + + * bookmark.el (bookmark-show-all-annotations): + Make sure each inserted annotation ends with newline. + + (bookmark-maybe-sort-alist): Don't modify + bookmark-alist. Instead, if not sorting, simply return it. + (bookmark-bmenu-list): Call bookmark-maybe-sort-alist + for its return value, not for its side effect. + +2007-07-17 Dan Nicolaescu + + * vc.el: Add more info about the vc-registered function. + +2007-07-16 David Kastrup + + * emacs-lisp/advice.el (defadvice): Doc fix. + +2007-07-16 Juanma Barranquero + + * subr.el (when, unless): Doc fix. + +2007-07-16 Dan Nicolaescu + + * vc-hg.el (vc-hg-state): Handle removed files. + (vc-hg-dir-state, vc-hg-dired-state-info): New functions. + (vc-hg-checkout): Re-enable. + +2007-07-15 Richard Stallman + + * kmacro.el (kmacro-bind-to-key): Avoid comparisons on function keys. + + * tutorial.el (tutorial--find-changed-keys): + Handle C-x specially like ESC. + +2007-07-15 Roland McGrath + + * add-log.el (add-change-log-entry): Check add-log-full-name + and add-log-mailing-address later, after change-log-mode-hook. + +2007-07-15 Richard Stallman + + * isearch.el (isearch-mode, isearch-done): + Delete unintended code in previous change. + + * ps-print.el (ps-default-bg): Change to White. + +2007-07-15 Aaron Hawley + + * tar-mode.el (tar-get-descriptor): No error for zero-length file. + +2007-07-15 Martin Rudalics + + * mouse.el (mouse-drag-track): Reset transient-mark-mode to nil + when handling the terminating event. + +2007-07-15 Jeff Miller (tiny change) + + * calendar/calendar.el (calendar-goto-bahai-date): Autoload it. + +2007-07-13 Eli Zaretskii + + * makefile.w32-in (install-lisp-SH, install-lisp-CMD): New targets. + (install): Use them to copy all *.el files before *.elc. + +2007-07-13 Dan Nicolaescu + + * replace.el (match): Use yellow1 instead of yellow. + + * progmodes/gdb-ui.el (breakpoint-enabled): Use red1 instead of red. + + * pcvs-info.el (cvs-unknown): Likewise. + +2007-07-12 Davis Herring + + * desktop.el (desktop-buffer-info, desktop-save): + Use `desktop-dirname' instead of `dirname'. + +2007-07-10 Jim Meyering (tiny change) + + * emacs-lisp/copyright.el (copyright-current-gpl-version): Set to 3. + + * autoinsert.el (auto-insert-alist): s/2/3/ in the generated comment. + +2007-07-10 Richard Stallman + + * emacs-lisp/lisp-mode.el (eval-defun): + Explain special handling of `defface'. + +2007-07-09 Richard Stallman + + * isearch.el (isearch-edit-string): Call to isearch-push-state + after the search. + +2007-07-08 Katsumi Yamaoka + + * cus-start.el (file-coding-system-alist): Fix custom type. + +2007-07-08 Chong Yidong + + * longlines.el (longlines-wrap-region): Avoid marking buffer as + modified. + (longlines-auto-wrap, longlines-window-change-function): + Remove unnecessary calls to set-buffer-modified-p. + +2007-06-20 Stefan Monnier + + * vc.el (vc-default-log-view-mode): New function. + (vc-print-log): Add new `log-view-mode' VC operation. + +2007-07-08 Nick Roberts + + * pcvs-util.el (cvs-strings->string, cvs-string->strings): + Rename and move to... + + * subr.el (strings->string, string->strings): ...here. + + * pcvs.el (cvs-reread-cvsrc, cvs-header-msg, cvs-checkout) + (cvs-mode-checkout, cvs-execute-single-file): Use new function names. + + * progmodes/gud.el (gud-common-init): Call string->strings instead + of split-string. + +2007-07-07 Eli Zaretskii + + * term/w32-win.el (menu-bar-open): New function. + Bind to it. + +2007-07-07 Dan Nicolaescu + + * log-view.el (log-view-mode-menu): New menu. + +2007-07-06 Dan Nicolaescu + + * vc-hg.el: New file. + +2007-07-06 Andreas Schwab + + * emacs-lisp/lisp-mode.el (eval-last-sexp): Avoid introducing any + dynamic bindings around the evaluation of the expression. + Reported by Jay Belanger . + +2007-07-03 Dan Nicolaescu + + * progmodes/gud.el (auto-mode-alist): Match more valid gdb init + file names. + +2007-07-02 Martin Rudalics + + * help-mode.el (help-make-xrefs): Skip spaces too when skipping tabs. + + * mouse.el (mouse-drag-mode-line-1): Quit mouse tracking when + event is not a cons cell. Do not unread drag-mouse-1 events. + Select right window in check whether space was stolen from + window above. + +2007-07-01 Richard Stallman + + * files.el (find-file-visit-truename): Fix safe-local-variable value. + +2007-06-29 Juanma Barranquero + + * generic-x.el (generic-define-mswindows-modes) + (generic-define-unix-modes, apache-log-generic-mode) + (bat-generic-mode-keymap, java-manifest-generic-mode) + (show-tabs-generic-mode): Fix typos in docstrings. + +2007-06-28 Jan Dj,Ad(Brv + + * dnd.el (dnd-get-local-file-name): Set fixcase to t in call to + replace-regexp-in-string. + +2007-06-28 Andreas Schwab + + * Makefile.in ($(lisp)/mh-e/mh-loaddefs.el): Depend on + $(lisp)/subdirs.el. + +2007-06-28 Juanma Barranquero + + * speedbar.el (speedbar-handle-delete-frame): Don't try to delete + the speedbar frame if nil; that deletes the current frame or + causes an error if it is the only frame. + Reported by Angelo Graziosi . + +2007-06-24 Juanma Barranquero + + * desktop.el (desktop-read): Run `desktop-not-loaded-hook' in the + directory where the desktop file was found, as the docstring says. + (desktop-kill): Use `read-directory-name'. + + * desktop.el (desktop-load-locked-desktop): New option. + (desktop-read): Use it. + (desktop-truncate, desktop-outvar, desktop-restore-file-buffer): + Use `when'. + +2007-06-24 Davis Herring + + * desktop.el (desktop-save-mode-off): New function. + (desktop-base-lock-name, desktop-not-loaded-hook): New variables. + (desktop-full-lock-name, desktop-file-modtime, desktop-owner) + (desktop-claim-lock, desktop-release-lock): New functions. + (desktop-kill): Tell `desktop-save' that this is the last save. + Release the lock afterwards. + (desktop-buffer-info): New function. + (desktop-save): Use it. Run `desktop-save-hook' where the doc + says to. Detect conflicts, and manage the lock. + (desktop-read): Detect conflicts. Manage the lock. + +2007-06-23 Eli Zaretskii + + * ls-lisp.el (insert-directory): If an invalid regexp error is + thrown, try using FILE as a literal file name, not a wildcard. + Check for FILE as an existing file, not just a directory. + +2007-06-23 Juanma Barranquero + + * ruler-mode.el (ruler-mode): Prevent clobbering the original + `header-line-format' when reentering ruler mode. + +2007-06-23 Eli Zaretskii + + * ls-lisp.el (insert-directory): Don't treat FILE as a wildcard if + FILE exists as a directory. + +2007-06-21 Stefan Monnier + + * progmodes/vera-mode.el (vera-mode): Fix `commend-end-skip' setting. + (vera-font-lock-match-item): Fix doc string. + (vera-in-comment-p): Remove unused function. + (vera-skip-forward-literal, vera-skip-backward-literal): Improve code, + use `syntax-ppss'. + (vera-forward-syntactic-ws): Fix argument order. + (vera-prepare-search): Use `with-syntax-table'. + (vera-indent-line): Fix doc string. + (vera-electric-tab): Fix doc string. + (vera-expand-abbrev): Define alias instead of using `fset'. + (vera-comment-uncomment-region): Use `comment-start-skip'. + +2007-06-20 Reto Zimmermann + + * progmodes/vera-mode.el: New file. + +2007-06-20 Juanma Barranquero + + * ido.el (ido-find-file-in-dir): Don't signal an error for + empty directories. + +2007-06-18 Alan Mackenzie + + * progmodes/cc-mode.el (c-remove-any-local-eval-or-mode-variables): + When removing lines, also remove the \n. Correction of patch of + 2007-04-21. + +2007-06-17 Glenn Morris + + * lpr.el (lpr-page-header-switches): Move %s to separate element + for correct quoting. Doc fix. + +2007-06-13 Johan Bockg,Ae(Brd + + * term/xterm.el (terminal-init-xterm): Escape parens in character + constants. + +2007-06-12 Ralf Angeli + + * scroll-lock.el (scroll-lock-mode): Doc fix. + +2007-06-11 Stefan Monnier + + * font-lock.el (font-lock-add-keywords): In case font-lock was only + half-activated, forcefully activate it completely. + +2007-06-11 Richard Stallman + + * cus-edit.el (custom-variable-type): Doc fix. + +2007-06-09 Alfred M. Szmidt (tiny change) + + * mail/rmail.el (rmail-movemail-variant-in-use): Fix doc typo. + +2007-06-09 Davis Herring + + * desktop.el (desktop-minor-mode-table): Doc fix. + +2007-06-08 Chong Yidong + + * image-mode.el (image-forward-hscroll, image-backward-hscroll) + (image-next-line, image-previous-line, image-scroll-up) + (image-scroll-down, image-bol, image-eol, image-bob, image-eob): + New functions. + (image-mode-map): Remap motion commands. + (image-mode-text-map): New keymap for viewing images as text. + (image-mode): Use image-mode-map. + (image-toggle-display): Toggle auto-hscroll-mode and mode keymaps. + +2007-06-07 Michael Albinus + + Sync with Tramp 2.0.56. + + * net/tramp.el: + * net/tramp-ftp.el: + * net/tramp-smb.el: + * net/tramp-util.el: + * net/tramp-vc.el: + Don't load cl.el, because that pollutes the namespace. Replace cl + macros by their implementations where necessary. Requested by + Richard Stallman . + + * net/tramp.el (top): Make `set-buffer-multibyte' an alias if it + doesn't exist. + (with-parsed-tramp-file-name): Protect debug spec during compilation. + (tramp-handle-insert-directory): Check (featurep 'ls-lisp). + (tramp-file-name-p, tramp-file-name-multi-method) + (tramp-file-name-method, tramp-file-name-user) + (tramp-file-name-host, tramp-file-name-localname): New defuns, + replacing defstruct `tramp-file-name'. + (tramp-handle-file-remote-p, tramp-completion-dissect-file-name1) + (tramp-dissect-file-name, tramp-dissect-multi-file-name): + Apply `vector' instead of `make-tramp-file-name'. + (tramp-handle-make-auto-save-file-name): + Apply `tramp-temporary-file-directory' for compatibility reasons. + (tramp-completion-mode): Use `natnump' instead of `wholenump' + because of XEmacs. + (tramp-completion-mode): `last-input-event' is nil when XEmacs is + started. + +2007-06-07 David Kastrup + + * dired.el (dired-recursive-deletes, dired-recursive-copies): + Change default to `top'. + +2007-06-07 Chong Yidong + + * dired.el (dired-mode-map): Remove spurious separator. + +2007-06-07 Juanma Barranquero + + * progmodes/ebrowse.el (ebrowse-draw-file-member-info): Doc fix. + + * progmodes/mixal-mode.el (mixal-operation-codes-alist): + * progmodes/idlwave.el (idlwave-one-key-select): Fix typo in docstring. + +2007-06-07 Alfred M. Szmidt (tiny change) + + * mail/rmailsum.el (rmail-summary-save-buffer): New command. + (rmail-summary-mode-map): Add rmail-summary-save-buffer. + +2007-06-07 Juanma Barranquero + + * progmodes/ebrowse.el (ebrowse-member-table): + * textmodes/org.el (org-export-ascii-bullets): Fix typos in docstrings. + +2007-06-06 Juanma Barranquero + + * pgg.el (pgg-sign-region, pgg-sign): + * ses.el (ses-call-printer): + * calendar/icalendar.el (icalendar--diarytime-to-isotime): + * textmodes/org.el (org-cycle): Fix typos in docstrings. + +2007-06-06 Eli Zaretskii + + * tar-mode.el (tar-header-block-summarize, tar-summarize-buffer) + (tar-get-descriptor): Handle type 55, an extended pax header. + +2007-06-06 Stefan Monnier + + * textmodes/css-mode.el: New file. + +2007-06-06 Michael Albinus + + * net/socks.el: New file, taken from w3 repository. + (top): Update Copyright. Don't load cl.el. + (all): Replace `case' by `cond', `string-to-int' by + `string-to-number', and `process-kill-without-query' by + `set-process-query-on-exit-flag'. + (socks-char-int): Remove defalias and all occurrences. + +2007-06-06 Juanma Barranquero + + * international/mule-cmds.el (toggle-enable-multibyte-characters) + (sort-coding-systems, search-unencodable-char): Doc fixes. + (coding-system-change-eol-conversion, set-default-coding-systems) + (prefer-coding-system, find-multibyte-characters, princ-list) + (leim-list-entry-regexp, set-input-method, locale-language-names) + (input-method-exit-on-first-char, exit-language-environment-hook) + (locale-charset-language-names): Fix typos in docstrings. + +2007-06-05 Juanma Barranquero + + * bs.el (bs-cycle-previous): Don't modify the cycle list until + `switch-to-buffer' has returned succesfully. + (bs-cycle-next): Ditto. Also, don't bury the buffer when the + window is dedicated (it could iconify the frame). + +2007-06-05 Glenn Morris + + * files.el (auto-mode-alist): Open `.asd' files in lisp-mode. + +2007-06-05 Chong Yidong + + * files.el (auto-mode-alist): Add lower-priority match for names + like ChangeLog.old. + +2007-06-04 Andreas Schwab + + * emacs-lisp/sregex.el (sregexq): Fix doc string quoting. + +2007-06-04 Davis Herring + + * calendar/timeclock.el: Update version number. + (timeclock-modeline-display): Mention timeclock-use-display-time + in explanatory message. + (timeclock-log): Suppress warnings when finding the log. + Don't check for a nil project twice. Run hooks after killing the + buffer (if applicable). + (timeclock-geometric-mean): Rename to `timeclock-mean' (it never + was geometric). All uses changed. + (timeclock-generate-report): Support prefix argument. + +2007-06-04 Micha,Ak(Bl Cadilhac + + * man.el (Man-next-section): Don't consider the last line of the + page as being part of any section. + +2007-06-04 Martin Rudalics + + * hilit-chg.el (highlight-changes-rotate-faces): Don't set + modified flag of buffer. Use `inhibit-modification-hooks'. + +2007-06-04 Katsumi Yamaoka + + * mail/mail-extr.el (mail-extract-address-components): + Recognize non-ASCII characters except for NBSP as words. + +2007-06-04 Ryan Yeske + + * net/webjump.el (webjump-sample-sites): Add Wikipedia query. + +2007-06-04 Michael Olson + + * emacs-lisp/tq.el (tq-queue-pop): Stifle error when a process has + died and we are trying to send a signal to it. + +2007-06-04 Juanma Barranquero + + * emacs-lisp/easy-mmode.el (define-minor-mode) + (easy-mmode-define-navigation): Fix typos in docstrings. + + * progmodes/compile.el (compilation-find-file, compilation-handle-exit): + Fix typos in docstrings. + (compilation-search-path, compilation-buffer-name-function): Doc fixes. + (compilation-finish-function): Fix typo in obsolescence declaration. + + * progmodes/idlwave.el (idlwave-routines): Fix typo in docstring. + +2007-06-04 Chong Yidong + + * files.el (magic-mode-alist): Remove image-type-auto-detected-p. + (magic-fallback-mode-alist): Add image-type-auto-detected-p. + + * image.el (image-type-auto-detected-p): Don't scan auto-mode-alist. + + * longlines.el (longlines-mode): Make longlines-auto-wrap + buffer-local. Add hooks unconditionally. + (longlines-auto-wrap): Toggle wrapping. + (longlines-after-change-function) + (longlines-post-command-function): Check longlines-auto-wrap. + 2007-06-02 Chong Yidong * Version 22.1 released. @@ -14,8 +3850,8 @@ 2007-05-29 Martin Rudalics * textmodes/table.el (table--point-entered-cell-function) - (table--point-left-cell-function): Bind - `inhibit-point-motion-hooks' to t. + (table--point-left-cell-function): + Bind `inhibit-point-motion-hooks' to t. 2007-05-29 Nikolaj Schumacher (tiny change) @@ -562,7 +4398,7 @@ 2007-04-15 Roland Winkler * textmodes/bibtex.el (bibtex-field-list): Use functionp. - (bibtex-make-field): Check that INIT is a string. Use functionp. + (bibtex-make-field): Check that INIT is a string. Use functionp. 2007-04-14 Glenn Morris @@ -583,7 +4419,7 @@ 2007-04-14 Nick Roberts * tmm.el (tmm-get-keybind): Use copy-sequence to ensure that the - global map isn't modified + global map isn't modified. 2007-04-14 Glenn Morris @@ -981,7 +4817,7 @@ 2007-03-31 Markus Triska - * flymake.el (flymake-err-line-patterns): Doc fix. + * progmodes/flymake.el (flymake-err-line-patterns): Doc fix. 2007-03-30 Reiner Steib @@ -1404,8 +5240,8 @@ North American rule. Replace "daylight savings" with "daylight saving" in doc. - * calendar/cal-china.el,cal-dst.el,calendar.el,diary-lib.el: - * calendar/lunar.el,solar.el: Replace "daylight savings" with + * calendar/cal-china.el, cal-dst.el, calendar.el, diary-lib.el: + * calendar/lunar.el, solar.el: Replace "daylight savings" with "daylight saving" in text. * woman.el (woman-change-fonts): Tweak previous change by using @@ -1526,7 +5362,7 @@ * progmodes/idlw-help.el (idlwave-do-context-help1): Don't visit special help topics for keywords. (idlwave-help-assistant-command): Include ".exe" for ms-dos - etc. Assistant command. + etc. Assistant command. 2007-03-08 Chong Yidong @@ -1725,7 +5561,7 @@ * progmodes/python.el (python-quote-syntax): Don't bother with syntax-ppss-context. (python-fill-paragraph): Make sure that fenced-string delimiters that - stand on their own line stay there + stand on their own line stay there. 2007-03-01 Lennart Borgman @@ -2317,7 +6153,7 @@ 2007-02-07 Vinicius Jose Latorre - * ps-print.ps: The ps-print commands without face printing should not + * ps-print.el: The ps-print commands without face printing should not print background color. Reported by Leo . (ps-print-version): New version 6.7.3. (ps-begin-job): New arg. Fix ps-default-background and @@ -2421,7 +6257,7 @@ 2007-02-02 Ulf Jasper - * newsticker.el (newsticker-version): Changed to "1.10". + * net/newsticker.el (newsticker-version): Changed to "1.10". (newsticker--set-customvar): Doc string. (newsticker-new-item-face): Doc string. (newsticker-mode): Initialize `invisibility-spec' with t. @@ -2445,7 +6281,7 @@ (newsticker--decode-iso8601-date): Bugfix for datestrings without days. (newsticker--buffer-do-insert-text): Fix. - (newsticker--buffer-insert-enclosure): Fix. length might be missing. + (newsticker--buffer-insert-enclosure): Fix. Length might be missing. (newsticker--buffer-make-item-completely-visible): `switch-to-buffer' not necessary. @@ -2698,7 +6534,7 @@ 2007-01-26 Vinicius Jose Latorre - * ps-print.ps: Fix background height. + * ps-print.el: Fix background height. (ps-print-version): New version 6.7.2. 2007-01-26 Eli Zaretskii @@ -2735,7 +6571,8 @@ 2007-01-23 Michael Kifer - * viper-keym.el (viper-insert-basic-map): Delete binding for S-TAB. + * emulation/viper-keym.el (viper-insert-basic-map): + Delete binding for S-TAB. * ediff-util.el (ediff-clone-buffer-for-region-comparison): Change text of message. Activate mark. @@ -2848,7 +6685,7 @@ 2007-01-20 Alin C. Soare (tiny change) - * lisp/emacs-lisp/lisp-mode.el (last-sexp-toggle-display): + * emacs-lisp/lisp-mode.el (last-sexp-toggle-display): Fixed cursor position when toggle abbreviated display. 2007-01-20 Nick Roberts @@ -2861,7 +6698,7 @@ * type-break.el (type-break-demo-hanoi, type-break-demo-life) (type-break-demo-boring): Call read-event instead of read-char. -2007-01-19 Daniel Pfeiffer (small change) +2007-01-19 Daniel Pfeiffer (tiny change) * progmodes/compile.el: Add handling for makepplog. @@ -2906,8 +6743,8 @@ * bookmark.el (bookmark-buffer-file-name): Abbreviate the bookmark path. Rewrite function in `cond' style for readability. - Suggested by: Stephen Eglen . - (The path shortening, that is, not the rearrarangement.) + Suggested by Stephen Eglen . + (The path shortening, that is, not the rearrangement.) 2007-01-15 YAMAMOTO Mitsuharu @@ -3095,7 +6932,7 @@ 2007-01-03 Alan Mackenzie - * progmode/cc-cmds.el (c-mask-paragraph): Fix yesterday's buggy patch. + * progmodes/cc-cmds.el (c-mask-paragraph): Fix yesterday's buggy patch. 2007-01-03 Chris Moore @@ -3438,8 +7275,8 @@ * ediff-diff.el (ediff-diff-options): Clarify docstring. (ediff-setup-diff-regions): Disallow -u in ediff-diff-options. - * viper-cmd.el (viper-post-command-sentinel): Protect against errors - in hooks. + * emulation/viper-cmd.el (viper-post-command-sentinel): + Protect against errors in hooks. (viper-add-newline-at-eob-if-necessary): Add newline only if we actually modify buffer; ignore errors if occur. @@ -3726,7 +7563,7 @@ (wdired-search-and-rename): Simplify code. (wdired-preprocess-files, wdired-preprocess-perms): Make read-only property of preceding character rear-nonsticky to - avoid that it can be modified. Put old-name and old-link + avoid that it can be modified. Put old-name and old-link properties on character preceding name and replace put-text-property by add-text-properties. (wdired-get-filename, wdired-get-previous-link): Get old-name @@ -3917,7 +7754,7 @@ allout-mode-map. Call it on file load, so the mode docstring substitutions work even if allout mode has not yet been invoked. (allout-mode): Use new allout-setup-mode-map to track any keybinding - customizations since the map was last processed. Also, refine the + customizations since the map was last processed. Also, refine the docstring so it's ship-shape for release. (allout-default-layout, allout-beginning-of-line-cycles) (allout-distinctive-bullets-string, allout-use-mode-specific-leader) @@ -5253,8 +9090,8 @@ * help-fns.el (help-with-tutorial): Move to tutorial.el. * tutorial.el: New file. - (help-with-tutorial): Move here from help-fns.el. Added help for - rebound keys. Fixed resume of tutorial. + (help-with-tutorial): Move here from help-fns.el. Add help for + rebound keys. Fix resume of tutorial. (tutorial--describe-nonstandard-key, tutorial--sort-keys) (tutorial--find-changed-keys, tutorial--display-changes) (tutorial--saved-dir, tutorial--saved-file) @@ -5341,9 +9178,9 @@ 2006-10-23 Michael Kifer - * viper-cmd.el (viper-prefix-arg-com): Define gg as G0. + * emulation/viper-cmd.el (viper-prefix-arg-com): Define gg as G0. - * viper-ex.el (ex-read): Quote file argument. + * emulation/viper-ex.el (ex-read): Quote file argument. * ediff-diff.el (ediff-same-file-contents): Expand file names. @@ -5593,7 +9430,7 @@ New C-c key bindings: for `cperl-find-bad-style', `cperl-pod-spell', `cperl-here-doc-spell', `cperl-narrow-to-here-doc', `cperl-perdoc', and `cperl-perldoc-at-point'. - CPerl Mode menu changes: "Fix style by spaces", "Imenu on Perl Info" + CPerl Mode menu changes: "Fix style by spaces", "Imenu on Perl Info" moved, new submenu of Tools with Ispell entries and narrowing. (cperl-after-sub-regexp): New defsubst. (cperl-imenu--function-name-regexp-perl): Use `cperl-after-sub-regexp'. @@ -5612,11 +9449,11 @@ calling or due to edit to a buffer, install our own hook (controlled by `cperl-hook-after-change'). (cperl-electric-pod): =cut may have been recognized as start. - (cperl-block-p): Move, updatedfor attributes. + (cperl-block-p): Move, updated for attributes. (cperl-calculate-indent): Try to allow '_' be non-word char Support subs with attributes. - (cperl-where-am-i): Queit (?) a warning. - (cperl-cached-syntax-table) New function. + (cperl-where-am-i): Quiet (?) a warning. + (cperl-cached-syntax-table): New function. (cperl-forward-re): Use `cperl-cached-syntax-table'. (cperl-unwind-to-safe): Recognize `syntax-type' property changing in a middle of line. @@ -5676,7 +9513,7 @@ After 5.3, 5.4: (cperl-facemenu-add-face-function): Add docs, fix U<>. Copyright message updated. - (cperl-init-faces): Work around a bug in `font-lock'. May slow + (cperl-init-faces): Work around a bug in `font-lock'. May slow facification down a bit. Misprint for my|our|local for old `font-lock' "our" was not fontified same as "my|local". @@ -5790,7 +9627,7 @@ (cperl-string-syntax-table): Make { and } not-grouping (Sometimes they ARE grouping in RExen, but matching them would only confuse in many situations when they are not) - (beginning-of-buffer): Replace two occurences with goto-char... + (beginning-of-buffer): Replace two occurrences with goto-char... (cperl-calculate-indent): `char-after' could be nil... (cperl-find-pods-heres): REx can start after "[" too. Hightlight (??{}) in RExen too. @@ -5863,7 +9700,7 @@ (cperl-next-interpolated-REx): New function. (cperl-next-interpolated-REx-0): Likewise. (cperl-next-interpolated-REx-1): Likewise. - "\C-c\C-x", "\C-c\C-y", "\C-c\C-v": New keybinding for these functions. + "\C-c\C-x", "\C-c\C-y", "\C-c\C-v": New keybinding for these functions. Perl/Regexp menu: 3 new entries for `cperl-next-interpolated-REx'. (cperl-praise): Mention finded interpolated RExen. @@ -6109,7 +9946,7 @@ * wid-edit.el (widget-button-click-moves-point): New variable. (widget-button-click): If widget-button-click-moves-point is - non-nil, set point after performing the button action + non-nil, set point after performing the button action. * cus-edit.el (custom-mode): Set widget-button-click-moves-point. @@ -6192,7 +10029,7 @@ 2006-09-26 Vinicius Jose Latorre - * progmode/ebnf2ps.el: Doc fix. Implement arrow spacing and scaling. + * progmodes/ebnf2ps.el: Doc fix. Implement arrow spacing and scaling. (ebnf-version): New version 4.3. (ebnf-arrow-extra-width, ebnf-arrow-scale): New options. (ebnf-prologue): Adjust PostScript programming. @@ -6381,8 +10218,8 @@ buffer-read-only isn't set. (allout-annotate-hidden): Enable topic annotation during copies even when the buffer is read-only, eg for topic copies. Ensure that the loop - advances, even when the span extends beyond the deletion region. - (allout-toggle-subtree-encryption): Use allout-structure-added-hook + advances, even when the span extends beyond the deletion region. + (allout-toggle-subtree-encryption): Use allout-structure-added-hook rather than allout-exposure-changed-hook, as a stronger assertion. (allout-keybindings-list): Add bindings for allout-copy-line-as-kill and allout-copy-topic-as-kill. @@ -6412,11 +10249,11 @@ 2006-09-18 Michael Kifer - * viper.el: Bump up version/date of update to reflect the substantial - changes done in August 2006. + * emulation/viper.el: Bump up version/date of update to reflect the + substantial changes done in August 2006. - * viper-cmd (viper-next-line-at-bol): Make sure button-at, push-button - are defined. + * emulation/viper-cmd.el (viper-next-line-at-bol): Make sure button-at, + push-button are defined. * ediff-util.el (ediff-add-to-history): New function. @@ -6433,7 +10270,7 @@ * cus-start.el (all): Rename x-gtk-show-chooser-help-text to x-gtk-file-dialog-help-text. Rename x-use-old-gtk-file-dialog - to x-gtk-use-old-file-dialog + to x-gtk-use-old-file-dialog. 2006-09-18 Richard Stallman @@ -7134,7 +10971,7 @@ 2006-09-02 Ryan Yeske - * rcirc.el (rcirc-keywords): New variable. + * net/rcirc.el (rcirc-keywords): New variable. (rcirc-bright-nicks, rcirc-dim-nicks): New variables. (rcirc-bright-nick-regexp, rcirc-dim-nick-regexp): Remove variables. @@ -7205,8 +11042,8 @@ 2006-08-30 Michael Kifer - * viper-cmd.el (viper-special-read-and-insert-char): Convert events to - chars if XEmacs. + * emulation/viper-cmd.el (viper-special-read-and-insert-char): + Convert events to chars if XEmacs. (viper-after-change-undo-hook): Check if undo-in-progress is bound. 2006-08-30 Stefan Monnier @@ -7323,25 +11160,26 @@ 2006-08-25 Michael Kifer - * viper.el (viper-set-hooks): Use frame bindings for + * emulation/viper.el (viper-set-hooks): Use frame bindings for viper-vi-state-cursor-color. (viper-non-hook-settings): Don't set default mode-line-buffer-identification. - * viper-util.el (viper-set-cursor-color-according-to-state): New fun. + * emulation/viper-util.el (viper-set-cursor-color-according-to-state): + New fun. (viper-set-cursor-color-according-to-state) (viper-get-saved-cursor-color-in-replace-mode) (viper-get-saved-cursor-color-in-insert-mode): Make conditional on viper-emacs-state-cursor-color. - * viper-cmd.el (viper-envelop-ESC-key): Bug fix. + * emulation/viper-cmd.el (viper-envelop-ESC-key): Bug fix. (viper-undo): Use point if undo-beg-posn is nil. (viper-insert-state-post-command-sentinel, viper-change-state-to-emacs) (viper-after-change-undo-hook): Don't use viper-emacs-state-cursor-color by default. (viper-undo): More sensible positioning after undo. - * viper-ex.el (ex-splice-args-in-1-letr-cmd): Get rid of caddr. + * emulation/viper-ex.el (ex-splice-args-in-1-letr-cmd): Get rid of caddr. (viper-emacs-state-cursor-color): Default to nil, since this feature doesn't work well yet. @@ -8156,9 +11994,9 @@ 2006-07-20 Jay Belanger - * calc.el (calc-previous-alg-entry): Remove variable. + * calc/calc.el (calc-previous-alg-entry): Remove variable. - * calc-aent.el (calc-alg-entry-history, calc-quick-calc-history): + * calc/calc-aent.el (calc-alg-entry-history, calc-quick-calc-history): New variables. (calc-alg-entry): Use `calc-alg-entry-history'. (calc-do-quick-calc): Use `calc-quick-calc-history'. @@ -8171,17 +12009,17 @@ Change keybinding for `calcAlg-plus-minus', add keybindings for `previous-history-element' and `next-history-element'. - * calc-rewr.el (calc-match): Remove reference to + * calc/calc-rewr.el (calc-match): Remove reference to `calc-previous-alg-entry'. - * calc-sel.el (calc-selection-history): New variable. + * calc/calc-sel.el (calc-selection-history): New variable. (calc-enter-selection, calc-sel-mult-both-sides) (calc-sel-add-both-sides): Use `calc-selection-history'. - * calc-map.el (calc-get-operator-history): New variable. + * calc/calc-map.el (calc-get-operator-history): New variable. (calc-get-operator): Use `calc-get-operator-history'. - * calcalg3.el (calc-curve-fit-history): New variable. + * calc/calcalg3.el (calc-curve-fit-history): New variable. (calc-curve-fit): Use `calc-curve-fit-history'. 2006-07-20 Kenichi Handa @@ -8428,7 +12266,7 @@ * tumme.el (tumme-create-thumb, tumme-thumbnail-display-external) (tumme-display-image, tumme-rotate-thumbnail, tumme-rotate-original) - (tumme-set-exif-data, tumme-get-exif-data): Use shell-command-switch. + (tumme-set-exif-data, tumme-get-exif-data): Use shell-command-switch. * thumbs.el (thumbs-call-convert): Use shell-command-switch. @@ -8955,7 +12793,7 @@ 2006-06-18 Michael Kifer - * viper-cmd.el (viper-special-read-and-insert-char): + * emulation/viper-cmd.el (viper-special-read-and-insert-char): Use read-key-sequence. (viper-after-change-undo-hook): Misc enhancements. (viper-after-change-undo-hook): New hook. @@ -8964,9 +12802,10 @@ (viper-next-line-at-bol): If point is on a widget or a button, simulate clicking on that widget/button. - * viper.el (viper-mode): Allow a separate cursor color in Emacs state. + * emulation/viper.el (viper-mode): Allow a separate cursor color + in Emacs state. - * ediff-diff (ediff-test-patch-utility): Catch errors. + * ediff-diff.el (ediff-test-patch-utility): Catch errors. (ediff-actual-diff-options, ediff-actual-diff3-options): New variables. (ediff-set-actual-diff-options): New function. (ediff-reset-diff-options, ediff-toggle-ignore-case): @@ -9021,7 +12860,7 @@ * term.el (term-handle-scroll, term-delete-lines) (term-insert-lines): Fix off by one errors. -2006-06-15 Katsumi Yamaoka (tiny change) +2006-06-15 Katsumi Yamaoka * net/tramp.el (tramp-touch): Use UTC to express time. @@ -9515,7 +13354,7 @@ (ewoc--wrap): New func. (ewoc-create): Take additional arg NOSEP. If nil, wrap node and header/footer pretty-printers. Save header/footer pretty-printer. - (ewoc-set-hf): Use ewoc's header/footer pretty-printer. * + (ewoc-set-hf): Use ewoc's header/footer pretty-printer. * pcvs.el (cvs-make-cvs-buffer): Specify NOSEP to `ewoc-create'. @@ -10100,7 +13939,7 @@ * calendar/cal-menu.el (calendar-mode-map, calendar-mouse-3-map): * calendar/calendar.el (calendar-mode-map): - * calendar/diary-lib.el (include-other-diary-files,diary-mail-entries): + * calendar/diary-lib.el (include-other-diary-files, diary-mail-entries): * calendar/appt.el (appt-check, appt-make-list): Refer to diary-view-entries, diary-list-entries, diary-show-all-entries rather than obsolete aliases. @@ -10464,7 +14303,7 @@ 2006-05-05 Eli Zaretskii * startup.el (command-line): On MS-Windows, probe "~", not - "~USER", for warning about non-existent home directory + "~USER", for warning about non-existent home directory. * arc-mode.el (archive-l-e): New optional argument `float' means generate a float value. @@ -10690,7 +14529,7 @@ 2006-04-27 Jay Belanger - * calc-embed.el (calc-embedded-make-info): Use `math-read-expr' to + * calc/calc-embed.el (calc-embedded-make-info): Use `math-read-expr' to read expression when `math-read-big-expr' doesn't work. 2006-04-27 Reiner Steib @@ -11177,7 +15016,7 @@ (org-table-create-or-convert-from-region): New commands (org-table-toggle-vline-visibility): Command removed. (org-table-convert-region): Made a command. - (orgtbl-deleta-backward-char,orgtbl-delete-char): Remove commands. + (orgtbl-deleta-backward-char, orgtbl-delete-char): Remove commands. Replace with the normal org- functions. (org-self-insert-command): Don't trigger realign unnecessarily when blanking a field that is not full. @@ -11316,7 +15155,7 @@ 2006-04-08 Ryan Yeske - * rcirc.el (rcirc-default-server): Rename from rcirc-server. + * net/rcirc.el (rcirc-default-server): Rename from rcirc-server. (rcirc-default-port): Rename from rcirc-port. (rcirc-default-nick): Rename from rcirc-nick. (rcirc-default-user-name): Rename from rcirc-user-name. @@ -11587,10 +15426,10 @@ (ibuffer-mode-header-map): New keymaps. (ibuffer-update-title-and-summary): Enable mouse face highlighting and keybindings for column headers. - (name,size,mode) : Add a header-mouse-map + (name, size, mode) : Add a header-mouse-map property. -2006-04-02 Drew Adams (tiny change) +2006-04-02 Drew Adams * speedbar.el (speedbar-after-create-hook): Doc fix. @@ -12141,8 +15980,8 @@ 2006-03-11 David Ponce - * ispell.el (ispell-find-aspell-dictionaries): Add aliases before - merging elements from the standard ispell-dictionary-alist. + * textmodes/ispell.el (ispell-find-aspell-dictionaries): Add aliases + before merging elements from the standard ispell-dictionary-alist. (ispell-aspell-add-aliases): Add aliases to the passed dictionary alist, and return the new alist. @@ -12415,7 +16254,7 @@ preserve window-start. (speedbar-update-directory-contents): Try to preserve window-start and window-point. - (speedbar-update-special-contents): Don't move back to start of window. + (speedbar-update-special-contents): Don't move back to start of window. * progmodes/gdb-ui.el (gdb-speedbar-refresh): Rename from gdb-speedbar-timer-fn. Use speedbar-refresh instead of @@ -12578,7 +16417,7 @@ (c-after-change): Protect the match data with save-match-data. It was getting corrupted by c-after-change-check-<>-operators. - * cc-defs.el: [Supersedes patch V1.38]: + * progmodes/cc-defs.el: [Supersedes patch V1.38]: (top level): Check for a buggy font-lock-compile-keywords ONLY in XEmacs. GNU Emacs 22 now has a check which would throw an error here. @@ -12853,19 +16692,20 @@ 2006-02-19 Michael Kifer - * viper-cmd.el (viper-insert-state-post-command-sentinel) + * emulation/viper-cmd.el (viper-insert-state-post-command-sentinel) (viper-change-state-to-vi, viper-change-state-to-emacs): Make aware of cursor coloring in the Emacs state. (viper-special-read-and-insert-char): Use read-char-exclusive. (viper-minibuffer-trim-tail): Workaround for fields in minibuffer. - * viper-init.el (viper-emacs-state-cursor-color): New variable. + * emulation/viper-init.el (viper-emacs-state-cursor-color): + New variable. - * viper-util.el (viper-save-cursor-color) + * emulation/viper-util.el (viper-save-cursor-color) (viper-get-saved-cursor-color-in-replace-mode) (viper-get-saved-cursor-color-in-insert-mode) - (viper-restore-cursor-color): Make aware of the cursor color in Emacs - state. + (viper-restore-cursor-color): Make aware of the cursor color + in Emacs state. (viper-get-saved-cursor-color-in-emacs-mode): New function. * ediff-diff.el (ediff-ignore-case, ediff-ignore-case-option) @@ -13017,7 +16857,7 @@ selective display for concealed text. Also, lots of general cleanup, and improved compatibility code. - (allout-version) Incremented, corrected, revised, and refined + (allout-version): Incremented, corrected, revised, and refined module commentary. (provide 'allout): Moved to the bottom, added a require of overlay. @@ -13041,7 +16881,7 @@ (allout-mode): Explicitly specify the mode map in the docstring. Clarify provision for various write-file hook var names. - Adjusted for invisible-text overlays instead of selective-display. + Adjusted for invisible-text overlays instead of selective-display. (allout-depth): Really return 0 if not within any topic. This rectifies `allout-beginning-of-level' and sequence numbering @@ -13853,8 +17693,8 @@ 2006-01-29 Edward O'Connor - * emulation/viper.el (viper-major-mode-modifier-list): Add - insert-state and vi-state entries for erc-mode. + * emulation/viper.el (viper-major-mode-modifier-list): + Add insert-state and vi-state entries for erc-mode. (viper-go-away, viper-set-hooks): Add and remove viper-comint-mode-hook from erc-mode-hook as appropriate. @@ -14103,7 +17943,7 @@ (tramp-unload-file-name-handler-alist) (tramp-unload-tramp): New defuns. (tramp-advice-PC-expand-many-files): New defadvice. - (tramp-save-PC-expand-many-files, tramp-setup-complete) Defuns + (tramp-save-PC-expand-many-files, tramp-setup-complete): Defuns removed. (tramp-handle-expand-file-name): Remove double slash. (tramp-handle-file-attributes-with-ls): Return t as 9th attribute. @@ -15324,7 +19164,7 @@ text properties). (hi-lock-string-serialize-hash, hi-lock-string-serialize-serial): New variables. - (hi-lock-string-serialize) New function. + (hi-lock-string-serialize): New function. 2005-12-23 Jan Dj,Ad(Brv @@ -15886,7 +19726,7 @@ * hi-lock.el (hi-lock-mode): Rename from hi-lock-buffer-mode; react if global-hi-lock-mode seems intended. - (global-hi-lock-mode) Renamed from hi-lock-mode. + (global-hi-lock-mode): Renamed from hi-lock-mode. (hi-lock-archaic-interface-message-used) (hi-lock-archaic-interface-deduce): New variables. (turn-on-hi-lock-if-enabled, hi-lock-line-face-buffer) @@ -15911,7 +19751,7 @@ 2005-12-10 John W. Eaton - * emacs/octave-mod.el (octave-electric-space): Don't indent + * progmodes/octave-mod.el (octave-electric-space): Don't indent comments or strings if octave-auto-indent is nil. 2005-12-10 YAMAMOTO Mitsuharu @@ -15987,7 +19827,7 @@ (recentf-menu-open-all-flag, recentf-menu-append-commands-flag) (recentf-arrange-by-rule-others) (recentf-arrange-by-rules-min-items) - (recentf-arrange-by-rule-subfilter) : Don't use + (recentf-arrange-by-rule-subfilter): Don't use `recentf-menu-customization-changed'. (recentf-arrange-rules): Likewise. Accept functions to compute sub-menu titles. @@ -16059,10 +19899,10 @@ 2005-12-08 Alan Mackenzie * progmodes/cc-fix.el: Add definitions of the macros push and pop - (for GNU Emacs 20.4) + (for GNU Emacs 20.4). - * progmodes/cc-defs.el: - (i) Load cc-fix.elc for `push' and `pop' (for GNU Emacs 20.4) + * progmodes/cc-defs.el + (i): Load cc-fix.elc for `push' and `pop' (for GNU Emacs 20.4). * progmodes/cc-cmds.el (c-show-syntactic-information): Change the highlighting mechanism so it will work in XEmacs too. @@ -16107,9 +19947,9 @@ 2005-12-08 Alan Mackenzie * progmodes/cc-mode.el: - (i) Insert a binding for C-c C-backspace into + (i): Insert a binding for C-c C-backspace into c-bind-special-erase-keys which works in TTYs. - (ii) Make sure that when file styles are used, any explicitly + (ii): Make sure that when file styles are used, any explicitly given style variables take priority over those in the style. Do this by calling `hack-local-variables' a second time. @@ -16363,7 +20203,7 @@ Introduce an "awk" style, mainly for auto-newline and clean-ups. - * progmodes/cc-align.el: New function c-snug-1line-defun-close + * progmodes/cc-align.el: New function c-snug-1line-defun-close. * progmodes/cc-cmds.el: In c-electric-brace, add code for new clean-up one-liner-defun. @@ -16497,7 +20337,7 @@ * progmodes/cc-awk.el: Move regexps for analysing AWK code to near the start of the file. ^L now separate sections of the file. - (c-awk-non-eol-esc-pair-re, c-awk-blank-or-comment-line-re) + (c-awk-non-eol-esc-pair-re, c-awk-blank-or-comment-line-re) (c-awk-one-line-possibly-open-string-re) (c-awk-regexp-one-line-possibly-open-char-class-re) (c-awk-one-line-possibly-open-regexp-re) @@ -17610,7 +21450,7 @@ 2005-11-30 Kim F. Storm - * emulation/cua-rect.el (cua--rectangle-overlays): Make permanent-local. + * emulation/cua-rect.el (cua--rectangle-overlays): Make permanent-local. (cua--rectangle-post-command): Cleanup overlays and deactivate mark after revert-buffer (or anything else which kills all local variables). @@ -17906,13 +21746,13 @@ 2005-11-25 Michael Kifer - * viper-keym.el (viper-ESC-key): Use different values in terminal and - window modes. + * emulation/viper-keym.el (viper-ESC-key): Use different values + in terminal and window modes. - * viper.el (viper-emacs-state-mode-list): Delete mail-mode, add - jde-javadoc-checker-report-mode. + * emulation/viper.el (viper-emacs-state-mode-list): Delete mail-mode, + add jde-javadoc-checker-report-mode. - * ediff-wind (ediff-make-wide-display): Slight simplification. + * ediff-wind.el (ediff-make-wide-display): Slight simplification. * ediff.el (ediff-date): Change the date of last update. @@ -18422,10 +22262,10 @@ 2005-11-15 Michael Kifer - * viper-utils.el (viper-non-word-characters-reformed-vi): + * emulation/viper-util.el (viper-non-word-characters-reformed-vi): Quote `-' in string. - * viper.el (viper-emacs-state-mode-list): Ensure that + * emulation/viper.el (viper-emacs-state-mode-list): Ensure that rcirc-mode buffers come up in Emacs state. * ediff-util.el (ediff-make-temp-file): Use proper file-name-handler @@ -18495,20 +22335,20 @@ 2005-11-14 Jay Belanger - * calc-alg.el (calcFunc-write-out-power): Rename it to + * calc/calc-alg.el (calcFunc-write-out-power): Rename it to calcFunc-powerexpand. (math-write-out-power): Rename it to math-powerexpand; have it handle negative exponents. (calc-writeoutpower): Rename it to calc-powerexpand. - * calc-ext.el: Change calcFunc-writeoutpower and + * calc/calc-ext.el: Change calcFunc-writeoutpower and calc-writeoutpower to calcFunc-powerexpand and calc-powerexpand in autoloads. Add calcFunc-ldiv to autoloads. - * calc-arith.el (calcFunc-ldiv): New function. + * calc/calc-arith.el (calcFunc-ldiv): New function. - * calc.el (calc-left-divide): New function. + * calc/calc.el (calc-left-divide): New function. 2005-11-14 Juri Linkov @@ -18852,7 +22692,7 @@ (pgg-pgp5-sign-region, pgg-pgp5-sign): Add optional PASSPHRASE argument to all these routines, so the passphrase can be managed externally and passed in to the system. - (pgg-pgp5-sign-region): Use new name of pgg-add-passphrase-to-cache + (pgg-pgp5-sign-region): Use new name of pgg-add-passphrase-to-cache function. 2005-11-04 Dan Nicolaescu @@ -18877,7 +22717,7 @@ 2005-11-04 Ulf Jasper - * newsticker.el: Commentary updated. Code formatting changed. + * net/newsticker.el: Commentary updated. Code formatting changed. (newsticker-version): Change to "1.9". (newsticker, newsticker-feed): Doc fix. (newsticker-url-list): Doc fix. Add option "Weekly". @@ -19074,7 +22914,7 @@ (pgg-pgp5-sign-region, pgg-pgp5-sign): Add optional PASSPHRASE argument to all these routines, so the passphrase can be managed externally and passed in to the system. - (pgg-pgp5-sign-region): Use new name of pgg-add-passphrase-to-cache + (pgg-pgp5-sign-region): Use new name of pgg-add-passphrase-to-cache function. 2005-11-04 Edward O'Connor (tiny change) @@ -19090,8 +22930,8 @@ 2005-11-04 Michael Kifer - * ediff-merge.el (ediff-merge-region-is-non-clash): Return t, if not - merging. + * ediff-merg.el (ediff-merge-region-is-non-clash): + Return t, if not merging. * ediff-util.el (ediff-previous-difference): Don't skip regions that have merge clashes. @@ -19976,14 +23816,14 @@ New defvar. Replaces `dired-move-to-filename-regexp' from dired.el. * dired.el (dired-move-to-filename-regexp): Remove. - All occurences replaced by `directory-listing-before-filename-regexp'. + All occurrences replaced by `directory-listing-before-filename-regexp'. * dired-x.el, locate.el, vc.el: Replace `dired-move-to-filename-regexp' by `directory-listing-before-filename-regexp'. In vc.el it is overwritten locally; maybe this can be handled in files.el too. - * net/ange-ftp.el (ange-ftp-date-regexp): Remove. All occurences + * net/ange-ftp.el (ange-ftp-date-regexp): Remove. All occurrences replaced by `directory-listing-before-filename-regexp'. 2005-10-23 Andreas Schwab @@ -20235,7 +24075,7 @@ (outlineify-sticky): Use the file vars mechanism. (allout-inhibit-protection, allout-during-write-cue) (allout-override-protect, allout-before-change-protect): Remove. - (allout-flag-region, allout-open-topic): Adjust read-only text. + (allout-flag-region, allout-open-topic): Adjust read-only text. (allout-open-line-not-read-only): Add to facilitate read-only text based protection. (allout-kill-line): Revise to adjust read-only text, clue the @@ -20714,7 +24554,7 @@ 2005-10-12 Jan Dj,Ad(Brv - * startup.el (command-line-x-option-alist): -nb => -nbi + * startup.el (command-line-x-option-alist): -nb => -nbi. 2005-10-12 Kim F. Storm @@ -20892,7 +24732,7 @@ * term/x-win.el: Remove -i, --icon-type from comment. * startup.el (command-line-x-option-alist): Remove options -i, - -itype, --icon-type, added -nb, --no-bitmap-icon + -itype, --icon-type, added -nb, --no-bitmap-icon. 2005-10-09 Nick Roberts @@ -21080,7 +24920,7 @@ 2005-10-05 Michael Kifer - * ediff-merge.el (ediff-merge-region-is-non-clash): New defsubst. + * ediff-merg.el (ediff-merge-region-is-non-clash): New defsubst. (ediff-merge-region-is-non-clash-to-skip): Previously called ediff-merge-region-is-non-clash. @@ -21097,17 +24937,19 @@ * ediff-wind.el (ediff-setup-control-frame) (ediff-destroy-control-frame): Check the menubar feature. - * viper-cmd.el (viper-normalize-minor-mode-map-alist) + * emulation/viper-cmd.el (viper-normalize-minor-mode-map-alist) (viper-refresh-mode-line): Use make-local-variable to localize some vars instead of make-variable-buffer-local. Suggested by Stefan Monnier. - * viper-init.el (viper-make-variable-buffer-local): Delete alias. + * emulation/viper-init.el (viper-make-variable-buffer-local): + Delete alias. (viper-restore-cursor-type, viper-set-insert-cursor-type): Use make-local-variable instead of make-variable-buffer-local. Suggested by Stefan Monnier. - * viper.el (viper-mode): Don't use viper-make-variable-buffer-local. + * emulation/viper.el (viper-mode): Don't use + viper-make-variable-buffer-local. (viper-comint-mode-hook): Use make-local-variable on require-final-newline. (viper-non-hook-settings): Don't use make-variable-buffer-local. @@ -21178,7 +25020,7 @@ * textmodes/ispell.el (ispell-word, ispell-region): Call ispell-maybe-find-aspell-dictionaries. (ispell-accept-buffer-local-defs): - Don't call ispell-maybe-find-aspell-dictionaries + Don't call ispell-maybe-find-aspell-dictionaries. 2005-10-04 Richard M. Stallman @@ -21730,7 +25572,7 @@ * emulation/viper-macs.el (ex-map): Better messages. - * emulation/viper-utils.el (viper-beginning-of-field): New function. + * emulation/viper-util.el (viper-beginning-of-field): New function. * emulation/viper.el: Replace make-variable-buffer-local with viper-make-variable-buffer-local everywhere, to avoid warnings. @@ -22110,8 +25952,8 @@ 2005-09-10 Alan Mackenzie - * page.el (narrow-to-page): Exclude _entire_ multi-line delimiter - from the region narrowed to. + * textmodes/page.el (narrow-to-page): Exclude _entire_ multi-line + delimiter from the region narrowed to. 2005-09-10 Magnus Henoch @@ -22277,7 +26119,7 @@ * custom.el (custom-known-themes): Clarify meaning of "standard". (custom-push-theme): Save old values in the standard theme. (disable-theme): Correct typo. - (custom-face-theme-value) Deleted unused function. + (custom-face-theme-value): Deleted unused function. (custom-theme-recalc-face): Rewritten to treat enable/disable properly. 2005-09-05 Stefan Monnier @@ -22786,7 +26628,7 @@ * calendar/diary-lib.el (diary-modify-entry-list-string-function): New hook. - (add-to-diary-list): Call `diary-modify-entry-list-string-function' + (add-to-diary-list): Call `diary-modify-entry-list-string-function'. 2005-08-24 Stefan Monnier @@ -23281,7 +27123,7 @@ * menu-bar.el (menu-bar-showhide-menu): Add `showhide-battery'. -2005-08-09 Katsumi Yamaoka (tiny change) +2005-08-09 Katsumi Yamaoka * net/ange-ftp.el (ange-ftp-send-cmd): Make it work properly with uploading files. @@ -23544,23 +27386,23 @@ 2005-08-06 Michael Kifer - * viper.el (viper-emacs-state-mode-list): Add recentf-dialog-mode. - Change the date of last update. + * emulation/viper.el (viper-emacs-state-mode-list): + Add recentf-dialog-mode. Change the date of last update. 2005-08-06 Michael Kifer - * viper-cmd.el (viper-harness-minor-mode, viper-exec-delete) + * emulation/viper-cmd.el (viper-harness-minor-mode, viper-exec-delete) (viper-exec-yank, viper-put-back): Don't display modification msg if in the minibuffer. - * viper-init.el (viper-replace-overlay-cursor-color) + * emulation/viper-init.el (viper-replace-overlay-cursor-color) (viper-insert-state-cursor-color, viper-vi-state-cursor-color): Make variables frame local. - * viper-util.el (viper-append-filter-alist): Use append instead of - nconc. + * emulation/viper-util.el (viper-append-filter-alist): + Use append instead of nconc. - * viper.el (viper-vi-state-mode-list) + * emulation/viper.el (viper-vi-state-mode-list) (viper-emacs-state-mode-list): Move help-mode and completion-list-mode from the first list to the second. (viper-mode): Docstring. @@ -24224,7 +28066,7 @@ 2005-07-19 Michael Kifer - * viper-cmd.el (viper-escape-to-state): Bug fix. + * emulation/viper-cmd.el (viper-escape-to-state): Bug fix. (viper-envelop-ESC-key): Change the definition of fast keysequence so it'll work with keyboard macros. @@ -24305,8 +28147,7 @@ 2005-07-16 Jose E. Marchesi - * lisp/mail/smtpmail.el (smtpmail-auth-supported): - Add plain auth method. + * mail/smtpmail.el (smtpmail-auth-supported): Add plain auth method. (smtpmail-try-auth-methods): Add AUTH PLAIN dialog. 2005-07-17 Kim F. Storm @@ -24669,29 +28510,29 @@ 2005-07-10 Michael Kifer - * viper-cmd.el (viper--key-maps): New variable. + * emulation/viper-cmd.el (viper--key-maps): New variable. (viper-normalize-minor-mode-map-alist): Use viper--key-maps and emulation-mode-map-alists. (viper-envelop-ESC-key): Use viper-subseq. (viper-search-forward/backward/next): Disable debug-on-error. - * viper-keym.el (viper-toggle-key, viper-quoted-insert-key) + * emulation/viper-keym.el (viper-toggle-key, viper-quoted-insert-key) (viper-ESC-key): New defcustoms. - * viper-macs.el (ex-map-read-args): Use viper-subseq. + * emulation/viper-macs.el (ex-map-read-args): Use viper-subseq. - * viper-util.el (viper-key-to-emacs-key): Use viper-subseq. + * emulation/viper-util.el (viper-key-to-emacs-key): Use viper-subseq. (viper-subseq): Copy of subseq from cl.el. - * viper.el (viper-go-away, viper-set-hooks): Use + * emulation/viper.el (viper-go-away, viper-set-hooks): Use emulation-mode-map-alists, advise self-insert-command, add-minor-mode. - * viper-mous.el (viper-current-frame-saved): Use defvar. + * emulation/viper-mous.el (viper-current-frame-saved): Use defvar. - * viper-init.el: Get rid of -face in face names. + * emulation/viper-init.el: Get rid of -face in face names. * ediff-diff.el (ediff-extract-diffs, ediff-extract-diffs3): - Make it work with longlines mode + Make it work with longlines mode. * ediff-mult.el (ediff-meta-mode-hook): New variable. @@ -24784,7 +28625,7 @@ (calc-do-embedded): Use calc-embedded-firsttime, calc-embedded-firsttime-buf and calc-embedded-firsttime-formula to determine whether or not to run hooks. - (calc-embedded-make-info) Set calc-embedded-firsttime-buf and + (calc-embedded-make-info): Set calc-embedded-firsttime-buf and calc-embedded-firsttime-formula appropriately. Set calc-embedded delimiter variables according to mode. @@ -26418,7 +30259,7 @@ 2005-06-11 Alan Mackenzie - * fill.el (fill-context-prefix): Try `adaptive-fill-function' + * textmodes/fill.el (fill-context-prefix): Try `adaptive-fill-function' BEFORE `adaptive-fill-regexp' when determining a fill prefix. (adaptive-file-function): Minor amendment to doc-string. @@ -27103,13 +30944,13 @@ 2005-06-04 David Reitter (tiny change) - * url-http.el (url-http-chunked-encoding-after-change-function): + * url/url-http.el (url-http-chunked-encoding-after-change-function): Use `url-http-debug' instead of `message'. 2005-06-04 Thierry Emery (tiny change) - * url-http.el (url-http-parse-headers): Pass redirected URL as a - callback argument. + * url/url-http.el (url-http-parse-headers): Pass redirected URL + as a callback argument. 2005-06-04 Kim F. Storm @@ -27163,10 +31004,11 @@ * ediff-mult.el (ediff-intersect-directories): Make sure that ".." and "." files are deleted from all file lists before comparison. - * viper-keym.el (viper-toggle-key, viper-quoted-insert-key) + * emulation/viper-keym.el (viper-toggle-key, viper-quoted-insert-key) (viper-ESC-key): Made them customizable. - * viper.el (viper-non-hook-settings): Fix the names of defadvices. + * emulation/viper.el (viper-non-hook-settings): + Fix the names of defadvices. 2005-06-01 Luc Teirlinck @@ -27321,7 +31163,7 @@ 2005-05-29 Richard M. Stallman - * flyspell.el (flyspell-version): Function deleted. + * textmodes/flyspell.el (flyspell-version): Function deleted. (flyspell-auto-correct-previous-hook): Doc fix. * jit-lock.el (jit-lock-function, jit-lock-after-change): @@ -27343,13 +31185,14 @@ 2005-05-29 Peter Heslin (tiny change) - * flyspell.el (flyspell-auto-correct-previous-word): + * textmodes/flyspell.el (flyspell-auto-correct-previous-word): Narrow down to what's on the screen, and recenter overlays at the end of the next word. 2005-05-29 Manuel Serrano - * flyspell.el (flyspell-emacs, flyspell-use-local-map): Vars moved up. + * textmodes/flyspell.el (flyspell-emacs, flyspell-use-local-map): + 8Vars moved up. (flyspell-default-delayed-commands): Add backward-delete-char-untabify. (flyspell-abbrev-p): Default to nil. (flyspell-use-global-abbrev-table-p): Doc fix. @@ -27722,51 +31565,52 @@ CC Mode update to 5.30.10: - * cc-fonts.el (c-font-lock-declarators): Fix bug where the point - could go past the limit in decoration level 2, thereby causing - errors during interactive fontification. + * progmodes/cc-fonts.el (c-font-lock-declarators): Fix bug where + the point could go past the limit in decoration level 2, thereby + causing errors during interactive fontification. - * cc-mode.el (c-make-inherited-keymap): Fix cc-bytecomp bug when - the file is evaluated interactively. + * progmodes/cc-mode.el (c-make-inherited-keymap): Fix cc-bytecomp + bug when the file is evaluated interactively. - * cc-engine.el (c-guess-basic-syntax): Handle operator + * progmodes/cc-engine.el (c-guess-basic-syntax): Handle operator declarations somewhat better in C++. - * cc-styles.el, cc-mode.el (c-run-mode-hooks): New helper macro to - make use of `run-mode-hooks' which has been added in Emacs 21.1. + * progmodes/cc-styles.el, cc-mode.el (c-run-mode-hooks): + New helper macro to make use of `run-mode-hooks' + which has been added in Emacs 21.1. (c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode) (awk-mode): Use it. (make-local-hook): Suppress warning about obsoleteness. - * cc-engine.el, cc-align.el, cc-cmds.el + * progmodes/cc-engine.el, cc-align.el, cc-cmds.el (c-append-backslashes-forward, c-delete-backslashes-forward) (c-find-decl-spots, c-semi&comma-no-newlines-before-nonblanks): Compensate for return value from `forward-line' when it has moved but not to a different line due to eob. - * cc-engine.el (c-guess-basic-syntax): Fix anchoring in + * progmodes/cc-engine.el (c-guess-basic-syntax): Fix anchoring in `objc-method-intro' and `objc-method-args-cont'. 2005-05-23 Alan Mackenzie CC Mode update to 5.30.10: - * cc-mode.el, cc-engine.el, cc-align.el: Change the FSF's address - in the copyright statement. Incidentally, change "along with GNU - Emacs" to "along with this program" where it occurs. + * progmodes/cc-mode.el, cc-engine.el, cc-align.el: Change the FSF's + address in the copyright statement. Incidentally, change "along with + GNU Emacs" to "along with this program" where it occurs. - * cc-mode.el: Add a fourth parameter `t' to the awk-mode autoload, - so that it is interactive, hence can be found by M-x awk-mode + * progmodes/cc-mode.el: Add a fourth parameter `t' to the awk-mode + autoload, so that it is interactive, hence can be found by M-x awk-mode whilst cc-mode is yet to be loaded. Reported by Glenn Morris . - * cc-awk.el: Add character classes (e.g. "[:alpha:]") into AWK + * progmodes/cc-awk.el: Add character classes (e.g. "[:alpha:]") into AWK Mode's regexps. 2005-05-23 Kevin Ryde - * cc-align.el (c-lineup-argcont): Ignore conses for {} pairs from - c-parse-state, to avoid a lisp error (on bad code). + * progmodes/cc-align.el (c-lineup-argcont): Ignore conses for {} pairs + from c-parse-state, to avoid a lisp error (on bad code). 2005-05-23 Lute Kamstra @@ -28134,7 +31978,7 @@ (reftex-unhighlight): Use `reftex-delete-overlay'. (reftex-uniq): Function removed. Use `reftex-uniquify' instead. (reftex-access-search-path): Use `reftex-uniquify' instead of - `reftex-uniq' + `reftex-uniq'. * textmodes/reftex-sel.el (reftex-select-unmark): Overlay `before-string' property modification enables for Emacs as well. @@ -29106,7 +32950,7 @@ * simple.el (next-error-overlay-arrow-position): Turn off, for ttys. - * loadup.el: load jka-comp-hook. + * loadup.el: Load jka-comp-hook. * jka-compr.el: Many functions and vars moved to jka-comp-hook.el. (jka-compr-handler): Add autoload. `put' calls moved @@ -29613,7 +33457,7 @@ * isearch.el (isearch-edit-string): Make the search-ring available for minibuffer history commands. - (minibuffer-local-isearch-map): Remove bindings for M-p and M-n, + (minibuffer-local-isearch-map): Remove bindings for M-p and M-n, the default history commands now work just as well. (isearch-ring-retreat-edit, isearch-ring-advance-edit): Remove. @@ -29773,7 +33617,7 @@ `org-insert-mode-line-in-empty-file' has been set. (org-agenda-todo, org-agenda-priority): Modify to use `org-agenda-change-all-lines'. - (org-warning-face): Change color on dark background + (org-warning-face): Change color on dark background. 2005-04-14 YAMAMOTO Mitsuharu @@ -29897,7 +33741,7 @@ 2005-04-11 Rajesh Vaidheeswarran - * whitespace.el (whitespace-version): Bump to 3.5 + * whitespace.el (whitespace-version): Bump to 3.5. (whitespace-buffer-leading, whitespace-buffer-trailing): Invert sense of the test to highlight the whitespace. @@ -29925,7 +33769,7 @@ * dired.el (dired-mode): Use dnd-* instead of x-dnd-* (dired-dnd-handle-local-file): Call dnd-get-local-file-name. - (dired-dnd-handle-file): Call dnd-get-local-file-uri + (dired-dnd-handle-file): Call dnd-get-local-file-uri. * cus-edit.el (dnd): New group. @@ -30364,7 +34208,7 @@ 2005-04-04 Jay Belanger - * calc.el (calc-language-alist): Add tags to customization type. + * calc/calc.el (calc-language-alist): Add tags to customization type. 2005-04-03 Luc Teirlinck @@ -30519,7 +34363,7 @@ 2005-03-31 Olive Lin (tiny change) - * textmodes/tex-mode.el (tex-start-tex) Use shell-quote-argument, + * textmodes/tex-mode.el (tex-start-tex): Use shell-quote-argument, not comint-quote-filename. 2005-03-31 Thien-Thi Nguyen @@ -30574,8 +34418,9 @@ 2005-03-30 Carsten Dominik - * org.el (org-agenda-phases-of-moon, org-agenda-sunrise-sunset) - (org-agenda-convert-date, org-agenda-goto-calendar): New commands. + * textmodes/org.el (org-agenda-phases-of-moon) + (org-agenda-sunrise-sunset, org-agenda-convert-date) + (org-agenda-goto-calendar): New commands. (org-diary-default-entry): New function. (org-get-entries-from-diary): Better parsing of diary entries. (org-agenda-check-no-diary): New function. @@ -32173,7 +36018,7 @@ 2005-02-19 Michael Kifer - * viper-cmd.el (viper-prefix-commands): Make into a defconst. + * emulation/viper-cmd.el (viper-prefix-commands): Make into a defconst. (viper-exec-buffer-search): Use regexp-quote to quote buffer string. (viper-minibuffer-setup-sentinel): Make some variables buffer-local. (viper-skip-separators): Bug fix. @@ -32182,17 +36027,18 @@ (viper-del-backward-char-in-replace): Don't put deleted char on the kill ring. - * viper-ex.el (viper-color-display-p): New function. + * emulation/viper-ex.el (viper-color-display-p): New function. (viper-has-face-support-p): Use viper-color-display-p. - * viper-keym.el (viper-gnus-modifier-map): New keymap. + * emulation/viper-keym.el (viper-gnus-modifier-map): New keymap. - * viper-macs.el (viper-unrecord-kbd-macro): Bug fix. + * emulation/viper-macs.el (viper-unrecord-kbd-macro): Bug fix. - * viper-util.el (viper-glob-unix-files): Fix shell status check. + * emulation/viper-util.el (viper-glob-unix-files): + Fix shell status check. (viper-file-remote-p): Make equivalent to file-remote-p. - * viper.el (viper-major-mode-modifier-list): + * emulation/viper.el (viper-major-mode-modifier-list): Use viper-gnus-modifier-map. 2005-02-19 David Kastrup @@ -32341,7 +36187,7 @@ (calcFunc-sech, calcFunc-csch, calcFunc-coth, math-sec-raw) (math-csc-raw, math-cot-raw): New functions. - * calc/calc-rules.el (calc-DistribRules, calc-NegateRules): Add rules. + * calc/calc-rules.el (calc-DistribRules, calc-NegateRules): Add rules. * calc/calc-undo.el (calc-handle-undo): Remove prefix from the variable name in a message. @@ -32826,7 +36672,8 @@ (bibtex-parse-field-name): Fix typos in docstrings. (bibtex-field-list, bibtex-find-crossref): Fix typos in error messages. -2005-01-24 Carsten Dominik +2005-01-24 Dan Nicolaescu + Juri Linkov * textmodes/reftex-global.el (reftex-isearch-push-state-function) (reftex-isearch-pop-state-function, reftex-isearch-isearch-search) @@ -32916,7 +36763,7 @@ 2005-01-21 Ren,Ai(B Kyllingstad * pcomplete.el: Define pcomplete-read-event instead of read-event, - since it's not a complete read-event implementation + since it's not a complete read-event implementation. 2005-01-20 Jay Belanger @@ -33034,7 +36881,7 @@ Sync with Tramp 2.0.47. - * net/tramp.el (tramp-operation-not-permitted-regexp) New defcustom, + * net/tramp.el (tramp-operation-not-permitted-regexp): New defcustom, catching keep-date problems in cp/scp operations. (tramp-handle-copy-file): Don't call `set-file-modes' unconditionally. Specialized functions should know better what is @@ -33145,8 +36992,9 @@ 2005-01-15 Alan Mackenzie - * ebrowse.el (ebrowse-class-in-tree): Return the tail of the tree - rather than the element found, thus enabling the tree to be setcar'd. + * progmodes/ebrowse.el (ebrowse-class-in-tree): + Return the tail of the tree rather than the element found, + thus enabling the tree to be setcar'd. 2005-01-14 Carsten Dominik @@ -33154,7 +37002,7 @@ (org-show-hierarchy-above): Use `org-show-following-heading'. (org-cycle): Documentation fix. - * textmodes/org.el (orgtbl-optimized): New option + * textmodes/org.el (orgtbl-optimized): New option. (orgtbl-mode): New command, a minor mode. (orgtbl-mode-map): New variable. (turn-on-orgtbl, orgtbl-mode, orgtbl-make-binding) @@ -33665,13 +37513,13 @@ See ChangeLog.11 for earlier changes. ;; add-log-time-zone-rule: t ;; End: - Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. + Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/ChangeLog.1 b/lisp/ChangeLog.1 index e068ee4cffb..371f51e4497 100644 --- a/lisp/ChangeLog.1 +++ b/lisp/ChangeLog.1 @@ -3246,14 +3246,14 @@ Set current buffer variables from defaults in case user's init file has changed them. - Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, 2005, 2006, 2007 + Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/ChangeLog.10 b/lisp/ChangeLog.10 index 7a5d0b4509c..b4b3d43b65f 100644 --- a/lisp/ChangeLog.10 +++ b/lisp/ChangeLog.10 @@ -1340,7 +1340,7 @@ (shell-directory-tracker): Make regexp used for skipping to next command correspond to one used for command itself. -2003-06-13 Katsumi Yamaoka (tiny change) +2003-06-13 Katsumi Yamaoka * textmodes/texinfmt.el (texinfo-format-scan): Silence `whitespace-cleanup'. @@ -11805,7 +11805,7 @@ * vc-hooks.el (vc-kill-buffer-hook): Add it to kill-buffer-hook again. -2002-08-22 Katsumi Yamaoka (tiny change) +2002-08-22 Katsumi Yamaoka * frame.el (select-frame-by-name, select-frame-set-input-focus): Always call x-focus-frame, if using x. @@ -23535,13 +23535,13 @@ See ChangeLog.9 for earlier changes. ;; End: Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, - 2007 Free Software Foundation, Inc. + 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/ChangeLog.11 b/lisp/ChangeLog.11 index ac47f4eaeaa..d8a3553d7e7 100644 --- a/lisp/ChangeLog.11 +++ b/lisp/ChangeLog.11 @@ -5295,7 +5295,7 @@ (reb-lisp-syntax-p, reb-change-syntax): `rx' is a Lisp syntax. (reb-cook-regexp): Call `rx-to-string' when `re-reb-syntax' is `rx'. -2004-08-05 Katsumi Yamaoka (tiny change) +2004-08-05 Katsumi Yamaoka * mail/mail-extr.el (mail-extr-disable-voodoo): New variable. (mail-extr-voodoo): Check mail-extr-disable-voodoo. @@ -14336,14 +14336,14 @@ See ChangeLog.10 for earlier changes. ;; coding: iso-2022-7bit ;; End: - Copyright (C) 2003, 2004, 2005, 2006, 2007 + Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/ChangeLog.2 b/lisp/ChangeLog.2 index fd3d0a16b47..2fcfd1733a8 100644 --- a/lisp/ChangeLog.2 +++ b/lisp/ChangeLog.2 @@ -3995,13 +3995,13 @@ See ChangeLog.1 for earlier changes. Copyright (C) 1986, 1987, 1988, 2001, 2002, 2003, 2004, 2005, 2006, - 2007 Free Software Foundation, Inc. + 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/ChangeLog.3 b/lisp/ChangeLog.3 index c2379009c00..208d341c303 100644 --- a/lisp/ChangeLog.3 +++ b/lisp/ChangeLog.3 @@ -12616,13 +12616,13 @@ See ChangeLog.2 for earlier changes. Copyright (C) 1989, 1993, 2001, 2002, 2003, 2004, 2005, 2006, - 2007 Free Software Foundation, Inc. + 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/ChangeLog.4 b/lisp/ChangeLog.4 index 872a39fa4b2..71d6b5efd7e 100644 --- a/lisp/ChangeLog.4 +++ b/lisp/ChangeLog.4 @@ -8940,13 +8940,13 @@ See ChangeLog.3 for earlier changes. Copyright (C) 1993, 1994, 2001, 2002, 2003, 2004, 2005, 2006, - 2007 Free Software Foundation, Inc. + 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/ChangeLog.5 b/lisp/ChangeLog.5 index 10ac1321a35..567c1964c2a 100644 --- a/lisp/ChangeLog.5 +++ b/lisp/ChangeLog.5 @@ -9262,13 +9262,13 @@ See ChangeLog.4 for earlier changes. Copyright (C) 1994, 1995, 2001, 2002, 2003, 2004, 2005, 2006, - 2007 Free Software Foundation, Inc. + 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/ChangeLog.6 b/lisp/ChangeLog.6 index 5475a7ee100..781122dcb29 100644 --- a/lisp/ChangeLog.6 +++ b/lisp/ChangeLog.6 @@ -8023,13 +8023,13 @@ See ChangeLog.5 for earlier changes. Copyright (C) 1995, 1996, 2001, 2002, 2003, 2004, 2005, 2006, - 2007 Free Software Foundation, Inc. + 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/ChangeLog.7 b/lisp/ChangeLog.7 index 4124a1dd955..24e5ea65107 100644 --- a/lisp/ChangeLog.7 +++ b/lisp/ChangeLog.7 @@ -23140,13 +23140,13 @@ See ChangeLog.6 for earlier changes. Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004, 2005, 2006, - 2007 Free Software Foundation, Inc. + 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/ChangeLog.8 b/lisp/ChangeLog.8 index 21ccff71d6f..f330dfccfff 100644 --- a/lisp/ChangeLog.8 +++ b/lisp/ChangeLog.8 @@ -9989,13 +9989,13 @@ See ChangeLog.7 for earlier changes. Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, - 2007 Free Software Foundation, Inc. + 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/ChangeLog.9 b/lisp/ChangeLog.9 index 14fa6c5f368..597b3995762 100644 --- a/lisp/ChangeLog.9 +++ b/lisp/ChangeLog.9 @@ -20696,13 +20696,13 @@ See ChangeLog.8 for earlier changes. ;; End: Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007 Free Software Foundation, Inc. + 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/Makefile.in b/lisp/Makefile.in index 8adaa27e619..950ec1aab6e 100644 --- a/lisp/Makefile.in +++ b/lisp/Makefile.in @@ -1,12 +1,12 @@ # Maintenance productions for the Lisp directory # Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, -# 2006, 2007 Free Software Foundation, Inc. +# 2006, 2007, 2008 Free Software Foundation, Inc. # This file is part of GNU Emacs. # GNU Emacs is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) +# the Free Software Foundation; either version 3, or (at your option) # any later version. # GNU Emacs is distributed in the hope that it will be useful, @@ -87,15 +87,19 @@ doit: $(lisp)/cus-load.el: touch $@ -custom-deps: $(lisp)/subdirs.el $(lisp)/loaddefs.el $(lisp)/cus-load.el doit +# Note that custom-deps and finder-data depend on autoloads rather +# than on loaddefs.el, so that autoloads does not run in parallel with +# them under "make -j", because that could delete loaddefs.el from +# under their feet. +custom-deps: $(lisp)/subdirs.el autoloads $(lisp)/cus-load.el doit wd=$(lisp); $(setwins_almost); \ echo Directories: $$wins; \ - $(EMACS) $(EMACSOPT) -l cus-dep --eval '(setq generated-custom-dependencies-file "$(lisp)/cus-load.el")' -f custom-make-dependencies $$wins + $(emacs) -l cus-dep --eval '(setq generated-custom-dependencies-file "$(lisp)/cus-load.el")' -f custom-make-dependencies $$wins -finder-data: $(lisp)/subdirs.el $(lisp)/loaddefs.el doit +finder-data: $(lisp)/subdirs.el autoloads doit wd=$(lisp); $(setwins_almost); \ echo Directories: $$wins; \ - $(EMACS) $(EMACSOPT) -l finder --eval '(setq generated-finder-keywords-file "$(lisp)/finder-inf.el")' -f finder-compile-keywords-make-dist $$wins + $(emacs) -l finder --eval '(setq generated-finder-keywords-file "$(lisp)/finder-inf.el")' -f finder-compile-keywords-make-dist $$wins $(lisp)/loaddefs.el: echo ";;; loaddefs.el --- automatically extracted autoloads" >> $@ @@ -110,7 +114,7 @@ $(lisp)/loaddefs.el: autoloads: $(lisp)/subdirs.el $(lisp)/loaddefs.el doit wd=$(lisp); $(setwins_almost); \ echo Directories: $$wins; \ - $(EMACS) $(EMACSOPT) -l autoload --eval '(setq generated-autoload-file "$(lisp)/loaddefs.el")' -f batch-update-autoloads $$wins + $(emacs) -l autoload --eval '(setq generated-autoload-file "$(lisp)/loaddefs.el")' -f batch-update-autoloads $$wins $(lisp)/subdirs.el: $(MAKE) $(MFLAGS) update-subdirs @@ -210,7 +214,7 @@ compile-after-backup: backup-compiled-files compile-always # new ones. recompile: doit mh-autoloads $(lisp)/progmodes/cc-mode.elc - $(EMACS) $(EMACSOPT) --eval "(batch-byte-recompile-directory 0)" $(lisp) + $(emacs) --eval "(batch-byte-recompile-directory 0)" $(lisp) # CC Mode uses a compile time macro system which causes a compile time # dependency in cc-mode.elc on the macros in cc-langs.el and the @@ -219,7 +223,7 @@ $(lisp)/progmodes/cc-mode.elc: \ $(lisp)/progmodes/cc-mode.el \ $(lisp)/progmodes/cc-langs.el \ $(lisp)/progmodes/cc-defs.el - $(EMACS) $(EMACSOPT) -f batch-byte-compile $(lisp)/progmodes/cc-mode.el + $(emacs) -f batch-byte-compile $(lisp)/progmodes/cc-mode.el # Update MH-E internal autoloads. These are not to be confused with # the autoloads for the MH-E entry points, which are already in @@ -239,10 +243,10 @@ MH_E_SRC = $(lisp)/mh-e/mh-acros.el $(lisp)/mh-e/mh-alias.el \ $(lisp)/mh-e/mh-xface.el mh-autoloads: $(lisp)/mh-e/mh-loaddefs.el -$(lisp)/mh-e/mh-loaddefs.el: $(MH_E_SRC) +$(lisp)/mh-e/mh-loaddefs.el: $(lisp)/subdirs.el $(MH_E_SRC) echo ";;; mh-loaddefs.el --- automatically extracted autoloads" > $@ echo "" >> $@ - echo ";; Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc." >> $@ + echo ";; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc." >> $@ echo ";; Author: Bill Wohler " >> $@ echo ";; Keywords: mail" >> $@ echo ";;; Commentary:" >> $@ @@ -256,7 +260,7 @@ $(lisp)/mh-e/mh-loaddefs.el: $(MH_E_SRC) echo ";; no-update-autoloads: t" >> $@ echo ";; End:" >> $@ echo ";;; mh-loaddefs.el ends here" >> $@ - $(EMACS) $(EMACSOPT) \ + $(emacs) \ -l autoload \ --eval "(setq generate-autoload-cookie \";;;###mh-autoload\")" \ --eval "(setq generated-autoload-file \"$(lisp)/mh-e/mh-loaddefs.el\")" \ diff --git a/lisp/abbrev.el b/lisp/abbrev.el index 83a3fbbe49d..7e2a411e0e2 100644 --- a/lisp/abbrev.el +++ b/lisp/abbrev.el @@ -1,7 +1,7 @@ ;;; abbrev.el --- abbrev mode commands for Emacs ;; Copyright (C) 1985, 1986, 1987, 1992, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: abbrev convenience @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -39,9 +39,9 @@ define global abbrevs instead." (defun abbrev-mode (&optional arg) "Toggle Abbrev mode in the current buffer. -With argument ARG, turn abbrev mode on iff ARG is positive. -In Abbrev mode, inserting an abbreviation causes it to expand -and be replaced by its expansion." +With optional argument ARG, turn abbrev mode on if ARG is +positive, otherwise turn it off. In Abbrev mode, inserting an +abbreviation causes it to expand and be replaced by its expansion." (interactive "P") (setq abbrev-mode (if (null arg) (not abbrev-mode) diff --git a/lisp/abbrevlist.el b/lisp/abbrevlist.el index faaceaf3113..2b5c1664b48 100644 --- a/lisp/abbrevlist.el +++ b/lisp/abbrevlist.el @@ -1,7 +1,7 @@ ;;; abbrevlist.el --- list one abbrev table alphabetically ordered ;; Copyright (C) 1986, 1992, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Suggested by a previous version by Gildea. ;; Maintainer: FSF @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/add-log.el b/lisp/add-log.el index 08ce78d371d..e492077e7ef 100644 --- a/lisp/add-log.el +++ b/lisp/add-log.el @@ -1,7 +1,7 @@ ;;; add-log.el --- change log maintenance commands for Emacs ;; Copyright (C) 1985, 1986, 1988, 1993, 1994, 1997, 1998, 2000, 2001, -;; 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: tools @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -509,19 +509,19 @@ non-nil, otherwise in local time." (file-name (expand-file-name (find-change-log file-name buffer-file))) ;; Set ITEM to the file name to use in the new item. (item (add-log-file-name buffer-file file-name)) - bound - (full-name (or add-log-full-name (user-full-name))) - (mailing-address (or add-log-mailing-address user-mail-address))) + bound full-name mailing-address) (if whoami (progn - (setq full-name (read-string "Full name: " full-name)) + (setq full-name (read-string "Full name: " + (or add-log-full-name (user-full-name)))) ;; Note that some sites have room and phone number fields in ;; full name which look silly when inserted. Rather than do ;; anything about that here, let user give prefix argument so that ;; s/he can edit the full name field in prompter if s/he wants. (setq mailing-address - (read-string "Mailing address: " mailing-address)))) + (read-string "Mailing address: " + (or add-log-mailing-address user-mail-address))))) (unless (equal file-name buffer-file-name) (if (or other-window (window-dedicated-p (selected-window))) @@ -532,6 +532,11 @@ non-nil, otherwise in local time." (undo-boundary) (goto-char (point-min)) + (or full-name + (setq full-name (or add-log-full-name (user-full-name)))) + (or mailing-address + (setq mailing-address (or add-log-mailing-address user-mail-address))) + ;; If file starts with a copyright and permission notice, skip them. ;; Assume they end at first blank line. (when (looking-at "Copyright") @@ -660,7 +665,6 @@ the change log file in another window." (list current-prefix-arg (prompt-for-change-log-name)))) (add-change-log-entry whoami file-name t)) -;;;###autoload (define-key ctl-x-4-map "a" 'add-change-log-entry-other-window) (defvar change-log-indent-text 0) @@ -1099,29 +1103,6 @@ old-style time formats for entries are supported." (goto-char (point-max))) (insert-buffer-substring other-buf start))))))) -;;;###autoload -(defun change-log-redate () - "Fix any old-style date entries in the current log file to default format." - (interactive) - (require 'timezone) - (save-excursion - (goto-char (point-min)) - (while (re-search-forward "^\\sw.........[0-9:+ ]*" nil t) - (unless (= 12 (- (match-end 0) (match-beginning 0))) - (let* ((date (save-match-data - (timezone-fix-time (match-string 0) nil nil))) - (zone (if (consp (aref date 6)) - (nth 1 (aref date 6))))) - (replace-match (format-time-string - "%Y-%m-%d " - (encode-time (aref date 5) - (aref date 4) - (aref date 3) - (aref date 2) - (aref date 1) - (aref date 0) - zone)))))))) - (provide 'add-log) ;; arch-tag: 81eee6fc-088f-4372-a37f-80ad9620e762 diff --git a/lisp/align.el b/lisp/align.el index 75046c147cb..923bad4fe04 100644 --- a/lisp/align.el +++ b/lisp/align.el @@ -1,7 +1,7 @@ ;;; align.el --- align text to a specific column, by regexp ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley ;; Maintainer: FSF @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/allout.el b/lisp/allout.el index 2330e6df121..5b1d38bb4b1 100644 --- a/lisp/allout.el +++ b/lisp/allout.el @@ -1,11 +1,11 @@ ;;; allout.el --- extensive outline mode for use alone and with other modes ;; Copyright (C) 1992, 1993, 1994, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Ken Manheimer ;; Maintainer: Ken Manheimer -;; Created: Dec 1991 - first release to usenet +;; Created: Dec 1991 -- first release to usenet ;; Version: 2.2.1 ;; Keywords: outlines wp languages ;; Website: http://myriadicity.net/Sundry/EmacsAllout @@ -14,7 +14,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -36,11 +36,11 @@ ;; - Topic-oriented editing including coherent topic and subtopic ;; creation, promotion, demotion, cut/paste across depths, etc. ;; - Incremental search with dynamic exposure and reconcealment of text -;; - Customizable bullet format - enables programming-language specific +;; - Customizable bullet format -- enables programming-language specific ;; outlining, for code-folding editing. (Allout code itself is to try it; -;; formatted as an outline - do ESC-x eval-buffer in allout.el; but +;; formatted as an outline -- do ESC-x eval-buffer in allout.el; but ;; emacs local file variables need to be enabled when the -;; file was visited - see `enable-local-variables'.) +;; file was visited -- see `enable-local-variables'.) ;; - Configurable per-file initial exposure settings ;; - Symmetric-key and key-pair topic encryption, plus symmetric passphrase ;; mnemonic support, with verification against an established passphrase @@ -53,7 +53,7 @@ ;; exposure control (see the allout-mode docstring) ;; - Easy rendering of exposed portions into numbered, latex, indented, etc ;; outline styles -;; - Careful attention to whitespace - enabling blank lines between items +;; - Careful attention to whitespace -- enabling blank lines between items ;; and maintenance of hanging indentation (in paragraph auto-fill and ;; across topic promotion and demotion) of topic bodies consistent with ;; indentation of their topic header. @@ -76,7 +76,7 @@ ;; `allout-mode' as a minor mode. (It has changed since allout ;; 3.x, for those of you that depend on the old method.) ;; -;; Note - the lines beginning with `;;;_' are outline topic headers. +;; Note -- the lines beginning with `;;;_' are outline topic headers. ;; Just `ESC-x eval-buffer' to give it a whirl. ;; ken manheimer (ken dot manheimer at gmail dot com) @@ -111,7 +111,7 @@ ;;;_ = allout-auto-activation (defcustom allout-auto-activation nil - "*Regulates auto-activation modality of allout outlines - see `allout-init'. + "*Regulates auto-activation modality of allout outlines -- see `allout-init'. Setq-default by `allout-init' to regulate whether or not allout outline mode is automatically activated when the buffer-specific @@ -153,35 +153,35 @@ value will automatically trigger `allout-mode', provided The types of elements in the layout specification are: - integer - dictate the relative depth to open the corresponding topic(s), - where: - - negative numbers force the topic to be closed before opening - to the absolute value of the number, so all siblings are open - only to that level. - - positive numbers open to the relative depth indicated by the - number, but do not force already opened subtopics to be closed. - - 0 means to close topic - hide all subitems. - : - repeat spec - apply the preceeding element to all siblings at - current level, *up to* those siblings that would be covered by specs - following the `:' on the list. Ie, apply to all topics at level but - trailing ones accounted for by trailing specs. (Only the first of - multiple colons at the same level is honored - later ones are ignored.) - * - completely exposes the topic, including bodies - + - exposes all subtopics, but not the bodies - - - exposes the body of the corresponding topic, but not subtopics - list - a nested layout spec, to be applied intricately to its + INTEGER -- dictate the relative depth to open the corresponding topic(s), + where: + -- negative numbers force the topic to be closed before opening + to the absolute value of the number, so all siblings are open + only to that level. + -- positive numbers open to the relative depth indicated by the + number, but do not force already opened subtopics to be closed. + -- 0 means to close topic -- hide all subitems. + : -- repeat spec -- apply the preceeding element to all siblings at + current level, *up to* those siblings that would be covered by specs + following the `:' on the list. Ie, apply to all topics at level but + trailing ones accounted for by trailing specs. (Only the first of + multiple colons at the same level is honored -- later ones are ignored.) + * -- completely exposes the topic, including bodies + + -- exposes all subtopics, but not the bodies + - -- exposes the body of the corresponding topic, but not subtopics + LIST -- a nested layout spec, to be applied intricately to its corresponding item(s) Examples: - '(-2 : 0) + (-2 : 0) Collapse the top-level topics to show their children and grandchildren, but completely collapse the final top-level topic. - '(-1 () : 1 0) + (-1 () : 1 0) Close the first topic so only the immediate subtopics are shown, leave the subsequent topics exposed as they are until the second second to last topic, which is exposed at least one level, and completely close the last topic. - '(-2 : -1 *) + (-2 : -1 *) Expose children and grandchildren of all topics at current level except the last two; expose children of the second to last and completely expose the last one, including its subtopics. @@ -253,7 +253,7 @@ repeated calls." Cycling only happens on when the command is repeated, not when it follows a different command. -Smart-placement means that repeated calls to this function will +Smart placement means that repeated calls to this function will advance as follows: - if the cursor is not on the end-of-line, @@ -335,25 +335,25 @@ persistent until deliberately changed. Their significance is purely by convention, however. Some conventions suggest themselves: - `(' - open paren - an aside or incidental point - `?' - question mark - uncertain or outright question - `!' - exclamation point/bang - emphatic - `[' - open square bracket - meta-note, about item instead of item's subject - `\"' - double quote - a quotation or other citation - `=' - equal sign - an assignement, equating a name with some connotation - `^' - carat - relates to something above + `(' - open paren -- an aside or incidental point + `?' - question mark -- uncertain or outright question + `!' - exclamation point/bang -- emphatic + `[' - open square bracket -- meta-note, about item instead of item's subject + `\"' - double quote -- a quotation or other citation + `=' - equal sign -- an assignement, equating a name with some connotation + `^' - carat -- relates to something above Some are more elusive, but their rationale may be recognizable: - `+' - plus - pending consideration, completion - `_' - underscore - done, completed - `&' - ampersand - addendum, furthermore + `+' - plus -- pending consideration, completion + `_' - underscore -- done, completed + `&' - ampersand -- addendum, furthermore \(Some other non-plain bullets have special meaning to the software. By default: - `~' marks encryptable topics - see `allout-topic-encryption-bullet' - `#' marks auto-numbered bullets - see `allout-numbered-bullet'.) + `~' marks encryptable topics -- see `allout-topic-encryption-bullet' + `#' marks auto-numbered bullets -- see `allout-numbered-bullet'.) See `allout-plain-bullets-string' for the standard, alternating bullets. @@ -395,7 +395,7 @@ comment-start strings that do not end in spaces are tripled in the header-prefix, and an `_' underscore is tacked on the end, to distinguish them from regular comment strings. comment-start strings that do end in spaces are not tripled, but an underscore -is substituted for the space. [This presumes that the space is +is substituted for the space. [This presumes that the space is for appearance, not comment syntax. You can use `allout-mode-leaders' to override this behavior, when undesired.]" @@ -436,7 +436,7 @@ are always respected by the topic maneuvering functions." ;;;###autoload (put 'allout-old-style-prefixes 'safe-local-variable (if (fboundp 'booleanp) 'booleanp '(lambda (x) (member x '(t nil))))) -;;;_ = allout-stylish-prefixes - alternating bullets +;;;_ = allout-stylish-prefixes -- alternating bullets (defcustom allout-stylish-prefixes t "*Do fancy stuff with topic prefix bullets according to level, etc. @@ -584,7 +584,7 @@ formatted copy." (defcustom allout-topic-encryption-bullet "~" "*Bullet signifying encryption of the entry's body." :type '(choice (const nil) string) - :version "22.0" + :version "22.1" :group 'allout-encryption) ;;;_ = allout-passphrase-verifier-handling (defcustom allout-passphrase-verifier-handling t @@ -593,23 +593,23 @@ formatted copy." See the docstring for the `allout-enable-file-variable-adjustment' variable for details about allout ajustment of file variables." :type 'boolean - :version "22.0" + :version "22.1" :group 'allout-encryption) (make-variable-buffer-local 'allout-passphrase-verifier-handling) ;;;_ = allout-passphrase-hint-handling (defcustom allout-passphrase-hint-handling 'always "*Dictate outline encryption passphrase reminder handling: - always - always show reminder when prompting - needed - show reminder on passphrase entry failure - disabled - never present or adjust reminder + always -- always show reminder when prompting + needed -- show reminder on passphrase entry failure + disabled -- never present or adjust reminder See the docstring for the `allout-enable-file-variable-adjustment' variable for details about allout ajustment of file variables." :type '(choice (const always) (const needed) (const disabled)) - :version "22.0" + :version "22.1" :group 'allout-encryption) (make-variable-buffer-local 'allout-passphrase-hint-handling) ;;;_ = allout-encrypt-unencrypted-on-saves @@ -625,7 +625,7 @@ mostly covers both deliberate file writes and auto-saves. can continue editing but the copy on the file system will be encrypted.) Auto-saves will use the \"All except current topic\" mode if this - one is selected, to avoid practical difficulties - see below. + one is selected, to avoid practical difficulties -- see below. - All except current topic: skip the topic currently being edited, even if it's pending encryption. This may expose the current topic on the file sytem, but avoids the nuisance of prompts for the encryption @@ -642,7 +642,7 @@ disable auto-saves for that file." :type '(choice (const :tag "Yes" t) (const :tag "All except current topic" except-current) (const :tag "No" nil)) - :version "22.0" + :version "22.1" :group 'allout-encryption) (make-variable-buffer-local 'allout-encrypt-unencrypted-on-saves) @@ -677,7 +677,7 @@ willing to let allout use a bunch of \C-c keybindings." :group 'allout) ;;;_ = allout-keybindings-list -;;; You have to reactivate allout-mode - `(allout-mode t)' - to +;;; You have to reactivate allout-mode -- `(allout-mode t)' -- to ;;; institute changes to this var. (defvar allout-keybindings-list () "*List of `allout-mode' key / function bindings, for `allout-mode-map'. @@ -747,7 +747,7 @@ else allout's special hanging-indent maintaining auto-fill function, (defcustom allout-use-hanging-indents t "*If non-nil, topic body text auto-indent defaults to indent of the header. Ie, it is indented to be just past the header prefix. This is -relevant mostly for use with indented-text-mode, or other situations +relevant mostly for use with `indented-text-mode', or other situations where auto-fill occurs." :type 'boolean :group 'allout) @@ -792,7 +792,7 @@ For details, see `allout-toggle-current-subtree-encryption's docstring." :group 'allout) (make-variable-buffer-local 'allout-enable-file-variable-adjustment) -;;;_* CODE - no user customizations below. +;;;_* CODE -- no user customizations below. ;;;_ #1 Internal Outline Formatting and Configuration ;;;_ : Version @@ -812,7 +812,7 @@ For details, see `allout-toggle-current-subtree-encryption's docstring." (defvar allout-mode nil "Allout outline mode minor-mode flag.") (make-variable-buffer-local 'allout-mode) ;;;_ = allout-layout nil -(defvar allout-layout nil ; LEAVE GLOBAL VALUE NIL - see docstring. +(defvar allout-layout nil ; LEAVE GLOBAL VALUE NIL -- see docstring. "Buffer-specific setting for allout layout. In buffers where this is non-nil (and if `allout-init' has been run, to @@ -856,7 +856,7 @@ by `set-allout-regexp'.") (defvar allout-bullets-string "" "A string dictating the valid set of outline topic bullets. -This var should *not* be set by the user - it is set by `set-allout-regexp', +This var should *not* be set by the user -- it is set by `set-allout-regexp', and is produced from the elements of `allout-plain-bullets-string' and `allout-distinctive-bullets-string'.") (make-variable-buffer-local 'allout-bullets-string) @@ -954,7 +954,7 @@ invoking it directly." comment-start t))) allout-use-mode-specific-leader - ;; Oops - garbled value, equate with effect of 't: + ;; Oops -- garbled value, equate with effect of t: t))) (leader (cond @@ -982,8 +982,8 @@ invoking it directly." nil (setq allout-header-prefix leader) (if (not allout-old-style-prefixes) - ;; setting allout-primary-bullet makes the top level topics use - - ;; actually, be - the special prefix: + ;; setting allout-primary-bullet makes the top level topics use -- + ;; actually, be -- the special prefix: (setq allout-primary-bullet leader)) allout-header-prefix))) (defalias 'allout-infer-header-lead @@ -1124,10 +1124,10 @@ Also refresh various data structures that hinge on the regexp." (defvar allout-mode-map nil "Keybindings for (allout) outline minor mode.") ;;;_ > produce-allout-mode-map (keymap-alist &optional base-map) (defun produce-allout-mode-map (keymap-list &optional base-map) - "Produce keymap for use as allout-mode-map, from KEYMAP-LIST. + "Produce keymap for use as `allout-mode-map', from KEYMAP-LIST. Built on top of optional BASE-MAP, or empty sparse map if none specified. -See doc string for allout-keybindings-list for format of binding list." +See doc string for `allout-keybindings-list' for format of binding list." (let ((map (or base-map (make-sparse-keymap))) (pref (list allout-command-prefix))) (mapcar (function @@ -1239,7 +1239,7 @@ extended from the existing one by `append'ing a list containing the second element of the pair onto the end of the existing value. Extension, and resumptions in general, should not be used for hook -functions - use the 'local mode of `add-hook' for that, instead. +functions -- use the 'local mode of `add-hook' for that, instead. The settings are stored on `allout-mode-prior-settings'." (while pairs @@ -1258,7 +1258,7 @@ The settings are stored on `allout-mode-prior-settings'." (when (not (assoc name allout-mode-prior-settings)) ;; Not already added as a resumption, create the prior setting entry. (if (local-variable-p name) - ;; is already local variable - preserve the prior value: + ;; is already local variable -- preserve the prior value: (push (list name prior-value) allout-mode-prior-settings) ;; wasn't local variable, indicate so for resumption by killing ;; local value, and make it local: @@ -1324,9 +1324,9 @@ It is run at the conclusion of `allout-flag-region'. Functions on the hook must take three arguments: - - from - integer indicating the point at the start of the change. - - to - integer indicating the point of the end of the change. - - flag - change mode: nil for exposure, otherwise concealment. + - FROM -- integer indicating the point at the start of the change. + - TO -- integer indicating the point of the end of the change. + - FLAG -- change mode: nil for exposure, otherwise concealment. This hook might be invoked multiple times by a single command. @@ -1338,10 +1338,10 @@ and eventually will not be invoked.") Functions on the hook should take two arguments: - - new-start - integer indicating the point at the start of the first new item. - - new-end - integer indicating the point of the end of the last new item. + - NEW-START -- integer indicating position of start of the first new item. + - NEW-END -- integer indicating position of end of the last new item. -Some edits that introduce new items may missed by this hook - +Some edits that introduce new items may missed by this hook: specifically edits that native allout routines do not control. This hook might be invoked multiple times by a single command.") @@ -1351,10 +1351,10 @@ This hook might be invoked multiple times by a single command.") Functions on the hook must take two arguments: - - depth - integer indicating the depth of the subtree that was deleted. - - removed-from - integer indicating the point where the subtree was removed. + - DEPTH -- integer indicating the depth of the subtree that was deleted. + - REMOVED-FROM -- integer indicating the point where the subtree was removed. -Some edits that remove or invalidate items may missed by this hook - +Some edits that remove or invalidate items may missed by this hook: specifically edits that native allout routines do not control. This hook might be invoked multiple times by a single command.") @@ -1364,10 +1364,10 @@ This hook might be invoked multiple times by a single command.") Functions on the hook should take two arguments: - - depth-change - integer indicating depth increase, negative for decrease - - start - integer indicating the start point of the shifted parent item. + - DEPTH-CHANGE -- integer indicating depth increase, negative for decrease + - START -- integer indicating the start point of the shifted parent item. -Some edits that shift items can be missed by this hook - specifically edits +Some edits that shift items can be missed by this hook: specifically edits that native allout routines do not control. This hook might be invoked multiple times by a single command.") @@ -1444,7 +1444,7 @@ substition is used against the regexp matches, a la `replace-match'.") "Variable for regexps matching plaintext to remove before encryption. This is for the sake of redoing encryption in cases where the ciphertext -incidentally contains strings that would disrupt mode operation - +incidentally contains strings that would disrupt mode operation -- for example, a line that happens to look like an allout-mode topic prefix. Entries must be symbols that are bound to the desired regexp values. @@ -1462,7 +1462,7 @@ See `allout-encryption-ciphertext-rejection-regexps' for rejection reasons.") (make-variable-buffer-local 'allout-encryption-ciphertext-rejection-ceiling) ;;;_ > allout-mode-p () ;; Must define this macro above any uses, or byte compilation will lack -;; proper def, if file isn't loaded - eg, during emacs build! +;; proper def, if file isn't loaded -- eg, during emacs build! (defmacro allout-mode-p () "Return t if `allout-mode' is active in current buffer." 'allout-mode) @@ -1637,11 +1637,11 @@ the following two lines in your Emacs init file: (put 'allout-exposure-category 'invisible 'allout) (put 'allout-exposure-category 'evaporate t) ;; XXX We use isearch-open-invisible *and* isearch-mode-end-hook. The - ;; latter would be sufficient, but it seems that a separate behavior - - ;; the _transient_ opening of invisible text during isearch - is keyed to - ;; presence of the isearch-open-invisible property - even though this + ;; latter would be sufficient, but it seems that a separate behavior -- + ;; the _transient_ opening of invisible text during isearch -- is keyed to + ;; presence of the isearch-open-invisible property -- even though this ;; property controls the isearch _arrival_ behavior. This is the case at - ;; least in emacs 21, 22.0, and xemacs 21.4. + ;; least in emacs 21, 22.1, and xemacs 21.4. (put 'allout-exposure-category 'isearch-open-invisible 'allout-isearch-end-handler) (if (featurep 'xemacs) @@ -1658,8 +1658,9 @@ the following two lines in your Emacs init file: "Toggle minor mode for controlling exposure and editing of text outlines. \\ -Optional arg forces mode to re-initialize iff arg is positive num or -symbol. Allout outline mode always runs as a minor mode. +Optional prefix argument TOGGLE forces the mode to re-initialize +if it is positive, otherwise it turns the mode off. Allout +outline mode always runs as a minor mode. Allout outline mode provides extensive outline oriented formatting and manipulation. It enables structural editing of outlines, as well as @@ -1692,7 +1693,7 @@ variable. We recommend customizing `allout-command-prefix' to use just `\\C-c' as the command prefix, if the allout bindings don't conflict with any personal bindings you have on \\C-c. In any case, outline structure navigation and authoring is simplified by positioning the cursor on an -item's bullet character, the \"hot-spot\" - then you can invoke allout +item's bullet character, the \"hot-spot\" -- then you can invoke allout commands with just the un-prefixed, un-control-shifted command letters. This is described further in the HOT-SPOT Operation section. @@ -1713,7 +1714,7 @@ This is described further in the HOT-SPOT Operation section. \\[allout-backward-current-level] `allout-backward-current-level' \\[allout-end-of-entry] `allout-end-of-entry' \\[allout-beginning-of-current-entry] `allout-beginning-of-current-entry' (alternately, goes to hot-spot) -\\[allout-beginning-of-line] `allout-beginning-of-line' - like regular beginning-of-line, but +\\[allout-beginning-of-line] `allout-beginning-of-line' -- like regular beginning-of-line, but if immediately repeated cycles to the beginning of the current item and then to the hot-spot (if `allout-beginning-of-line-cycles' is set). @@ -1731,9 +1732,9 @@ This is described further in the HOT-SPOT Operation section. \\[allout-rebullet-current-heading] `allout-rebullet-current-heading' Prompt for alternate bullet for current topic \\[allout-rebullet-topic] `allout-rebullet-topic' Reconcile bullets of topic and - its' offspring - distinctive bullets are not changed, others + its' offspring -- distinctive bullets are not changed, others are alternated according to nesting depth. -\\[allout-number-siblings] `allout-number-siblings' Number bullets of topic and siblings - +\\[allout-number-siblings] `allout-number-siblings' Number bullets of topic and siblings -- the offspring are not affected. With repeat count, revoke numbering. @@ -1762,7 +1763,7 @@ M-x outlineify-sticky Activate outline mode for current buffer, \\[allout-copy-exposed-to-buffer] `allout-copy-exposed-to-buffer' Duplicate outline, sans concealed text, to buffer with name derived from derived from that - of current buffer - \"*BUFFERNAME exposed*\". + of current buffer -- \"*BUFFERNAME exposed*\". \\[allout-flatten-exposed-to-buffer] `allout-flatten-exposed-to-buffer' Like above 'copy-exposed', but convert topic prefixes to section.subsection... numeric @@ -1831,7 +1832,7 @@ without changes to the allout core. Here are key ones: Terminology -Topic hierarchy constituents - TOPICS and SUBTOPICS: +Topic hierarchy constituents -- TOPICS and SUBTOPICS: ITEM: A unitary outline element, including the HEADER and ENTRY text. TOPIC: An ITEM and any ITEMs contained within it, ie having greater DEPTH @@ -1939,7 +1940,7 @@ OPEN: A TOPIC that is not CLOSED, though its OFFSPRING or BODY may be." (cond - ;; Provision for v19.18, 19.19 bug - + ;; Provision for v19.18, 19.19 bug -- ;; Emacs v 19.18, 19.19 file-var code invokes prop-line-designated ;; modes twice when file is visited. We have to avoid toggling mode ;; off on second invocation, so we detect it as best we can, and @@ -2084,7 +2085,7 @@ OPEN: A TOPIC that is not CLOSED, though its OFFSPRING or BODY may be." (progn (apply 'allout-expose-topic (list use-layout)) (message "Adjusting '%s' exposure... done." (buffer-name))) - ;; Problem applying exposure - notify user, but don't + ;; Problem applying exposure -- notify user, but don't ;; interrupt, eg, file visit: (error (message "%s" (car (cdr err))) (sit-for 1)))))) @@ -2119,6 +2120,16 @@ OPEN: A TOPIC that is not CLOSED, though its OFFSPRING or BODY may be." ;;;_ > allout-minor-mode (defalias 'allout-minor-mode 'allout-mode) +;;;_ > allout-unload-function +(defun allout-unload-function () + "Unload the allout outline library." + (save-current-buffer + (dolist (buffer (buffer-list)) + (set-buffer buffer) + (when allout-mode (allout-mode -1)))) + ;; continue standard unloading + nil) + ;;;_ - Position Assessment ;;;_ > allout-hidden-p (&optional pos) (defsubst allout-hidden-p (&optional pos) @@ -2139,10 +2150,10 @@ OPEN: A TOPIC that is not CLOSED, though its OFFSPRING or BODY may be." "Get confirmation before making arbitrary changes to invisible text. We expose the invisible text and ask for confirmation. Refusal or -keyboard-quit abandons the changes, with keyboard-quit additionally +`keyboard-quit' abandons the changes, with keyboard-quit additionally reclosing the opened text. -No confirmation is necessary when inhibit-read-only is set - eg, allout +No confirmation is necessary when `inhibit-read-only' is set -- eg, allout internal functions use this feature cohesively bunch changes." (when (and (not inhibit-read-only) (not after)) @@ -2180,7 +2191,7 @@ internal functions use this feature cohesively bunch changes." (defun allout-before-change-handler (beg end) "Protect against changes to invisible text. -See allout-overlay-interior-modification-handler for details." +See `allout-overlay-interior-modification-handler' for details." (if (and (allout-mode-p) undo-in-progress (allout-hidden-p)) (allout-show-to-offshoot)) @@ -2190,7 +2201,7 @@ See allout-overlay-interior-modification-handler for details." (when (and (featurep 'xemacs) (allout-mode-p)) ;; process all of the pending overlays: (save-excursion - (got-char beg) + (goto-char beg) (let ((overlay (allout-get-invisibility-overlay))) (allout-overlay-interior-modification-handler overlay nil beg end nil))))) @@ -2205,7 +2216,7 @@ function can also be used as an `isearch-mode-end-hook'." (if (and (allout-mode-p) (allout-hidden-p)) (allout-show-to-offshoot))) -;;;_ #3 Internal Position State-Tracking - "allout-recent-*" funcs +;;;_ #3 Internal Position State-Tracking -- "allout-recent-*" funcs ;;; All the basic outline functions that directly do string matches to ;;; evaluate heading prefix location set the variables ;;; `allout-recent-prefix-beginning' and `allout-recent-prefix-end' @@ -2233,7 +2244,8 @@ function can also be used as an `isearch-mode-end-hook'." (defsubst allout-prefix-data () "Register allout-prefix state data. -For reference by `allout-recent' funcs. Returns BEGINNING." +For reference by `allout-recent' funcs. Return +the new value of `allout-recent-prefix-beginning'." (setq allout-recent-prefix-end (or (match-end 1) (match-end 2)) allout-recent-prefix-beginning (or (match-beginning 1) (match-beginning 2)) @@ -2287,7 +2299,7 @@ to return the current depth of the most recently matched topic." (defsubst allout-do-doublecheck () "True if current item conditions qualify for checking on topic aberrance." (and - ;; presume integrity of outline and yanked content during yank - necessary, + ;; presume integrity of outline and yanked content during yank -- necessary ;; to allow for level disparity of yank location and yanked text: (not allout-inhibit-aberrance-doublecheck) ;; allout-doublecheck-at-and-shallower is ceiling for doublecheck: @@ -2324,12 +2336,12 @@ exceeds the topic by more than one." (allout-prefix-data) (goto-char allout-recent-prefix-beginning) (cond - ;; sibling - continue: + ;; sibling -- continue: ((eq allout-recent-depth depth)) - ;; first offspring is excessive - aberrant: + ;; first offspring is excessive -- aberrant: ((> allout-recent-depth (1+ depth)) (setq done t aberrant t)) - ;; next non-sibling is lower-depth - not aberrant: + ;; next non-sibling is lower-depth -- not aberrant: (t (setq done t))))) (if aberrant aberrant @@ -2468,7 +2480,7 @@ Outermost is first." ;;;_ > allout-end-of-current-line () (defun allout-end-of-current-line () "Move to the end of line, past concealed text if any." - ;; XXX This is for symmetry with `allout-beginning-of-current-line' - + ;; XXX This is for symmetry with `allout-beginning-of-current-line' -- ;; `move-end-of-line' doesn't suffer the same problem as ;; `move-beginning-of-line'. (let ((inhibit-field-text-motion t)) @@ -2534,7 +2546,7 @@ Outermost is first." Returns the location of the heading, or nil if none found. -We skip anomolous low-level topics, a la `allout-aberrant-container-p'." +We skip anomalous low-level topics, a la `allout-aberrant-container-p'." (if (looking-at allout-regexp) (forward-char 1)) @@ -2557,7 +2569,7 @@ We skip anomolous low-level topics, a la `allout-aberrant-container-p'." Return the location of the beginning of the heading, or nil if not found. -We skip anomolous low-level topics, a la `allout-aberrant-container-p'." +We skip anomalous low-level topics, a la `allout-aberrant-container-p'." (if (bobp) nil @@ -2654,9 +2666,9 @@ starting point, and PREV-DEPTH is depth of prior topic." ;; Register this one and move on: (setq chart (cons allout-recent-prefix-beginning chart)) (if (and levels (<= levels 1)) - ;; At depth limit - skip sublevels: + ;; At depth limit -- skip sublevels: (or (allout-next-sibling curr-depth) - ;; or no more siblings - proceed to + ;; or no more siblings -- proceed to ;; next heading at lesser depth: (while (and (<= curr-depth allout-recent-depth) @@ -2729,7 +2741,7 @@ start point." (let ((further (allout-chart-to-reveal here (if (null depth) depth (1- depth))))) - ;; We're on the start of a subtree - recurse with it, if there's + ;; We're on the start of a subtree -- recurse with it, if there's ;; more depth to go: (if further (setq result (append further result))) (setq chart (cdr chart))) @@ -3114,7 +3126,7 @@ situation." (progn (goto-char start-point) nil) ;; rationale: if any intervening items were at a lower depth, we - ;; would now be on the first offspring at the target depth - ie, + ;; would now be on the first offspring at the target depth -- ie, ;; the preceeding item (per the search direction) must be at a ;; lesser depth. that's all we need to check. (if backward (allout-next-heading) (allout-previous-heading)) @@ -3191,7 +3203,7 @@ Move to buffer limit in indicated direction if headings are exhausted." (allout-aberrant-container-p)) ;; skip this aberrant prospective header line: t - ;; this prospective headerline qualifies - register: + ;; this prospective headerline qualifies -- register: (setq got allout-recent-prefix-beginning) ;; and break the loop: nil)))) @@ -3359,7 +3371,7 @@ Returns the qualifying command, if any, else nil." (>= 122 key-num)) ; "z" (- key-num 96) key-num))) t)))) - ;; Qualified as an allout command - do hot-spot operation. + ;; Qualified as an allout command -- do hot-spot operation. (setq allout-post-goto-bullet t) ;; accept-defaults nil, or else we'll get allout-item-icon-key-handler. (setq mapped-binding (key-binding (char-to-string key-num)))) @@ -3461,7 +3473,7 @@ Second arg NEW indicates that a new topic is being opened after the topic at point, if non-nil. Default bullet for new topics, eg, may be set (contingent to other args) to numbered bullets if previous sibling is one. The implication otherwise is that the current topic -is being adjusted - shifted or rebulleted - and we don't consider +is being adjusted -- shifted or rebulleted -- and we don't consider bullet or previous sibling. Third arg DEPTH forces the topic prefix to that depth, regardless of @@ -3507,11 +3519,11 @@ index for each successive sibling)." ;; Getting value for bullet char is practically the whole job: (cond - ; Simplest situation - level 1: + ; Simplest situation -- level 1: ((<= depth 1) (setq header-lead "") allout-primary-bullet) ; Simple, too: all asterisks: (allout-old-style-prefixes - ;; Cheat - make body the whole thing, null out header-lead and + ;; Cheat -- make body the whole thing, null out header-lead and ;; bullet-char: (setq body (make-string depth (string-to-char allout-primary-bullet))) @@ -3589,8 +3601,8 @@ index for each successive sibling)." "Open a new topic at depth DEPTH. New topic is situated after current one, unless optional flag BEFORE -is non-nil, or unless current line is completely empty - lacking even -whitespace - in which case open is done on the current line. +is non-nil, or unless current line is completely empty -- lacking even +whitespace -- in which case open is done on the current line. When adding an offspring, it will be added immediately after the parent if the other offspring are exposed, or after the last child if the offspring @@ -3654,7 +3666,7 @@ Nuances: (if (not opening-on-blank) ; Positioning and vertical - ; padding - only if not + ; padding -- only if not ; opening-on-blank: (progn (goto-char ref-topic) @@ -3705,7 +3717,7 @@ Nuances: (open-line 1))) (allout-end-of-current-subtree) (if (looking-at "\n\n") (forward-char 1)))) - ;; Going inwards - double-space if first offspring is + ;; Going inwards -- double-space if first offspring is ;; double-spaced, otherwise snug up. (allout-end-of-entry) (if (eobp) @@ -3715,7 +3727,7 @@ Nuances: (backward-char 1) (if (bolp) ;; Blank lines between current header body and next - ;; header - get to last substantive (non-white-space) + ;; header -- get to last substantive (non-white-space) ;; line in body: (progn (setq dbl-space t) (re-search-backward "[^ \t\n]" nil t))) @@ -3860,9 +3872,9 @@ Note that refill of indented paragraphs is not done." (not (looking-at allout-regexp))) (if (> 0 (setq excess (- (- old-indent-end old-indent-begin) old-margin))) - ;; Text starts left of old margin - don't adjust: + ;; Text starts left of old margin -- don't adjust: nil - ;; Text was hanging at or right of old left margin - + ;; Text was hanging at or right of old left margin -- ;; reindent it, preserving its existing indentation ;; beyond the old margin: (delete-region old-indent-begin old-indent-end) @@ -3923,9 +3935,9 @@ Third arg NUMBER-CONTROL can force the prefix to or away from numbered form. It has effect only if `allout-numbered-bullet' is non-nil and soliciting was not explicitly invoked (via first arg). Its effect, numbering or denumbering, then depends on the setting -of the forth arg, INDEX. +of the fourth arg, INDEX. -If NUMBER-CONTROL is non-nil and forth arg INDEX is nil, then the +If NUMBER-CONTROL is non-nil and fourth arg INDEX is nil, then the prefix of the topic is forced to be non-numbered. Null index and non-nil NUMBER-CONTROL forces denumbering. Non-nil INDEX (and non-nil NUMBER-CONTROL) forces a numbered-prefix form. If non-nil @@ -4009,7 +4021,7 @@ this function." Descends into invisible as well as visible topics, however. -When optional sans-offspring is non-nil, subtopics are not +When optional SANS-OFFSPRING is non-nil, subtopics are not shifted. (Shifting a topic outwards without shifting its offspring is disallowed, since this would create a \"containment discontinuity\", where the depth difference between a topic and @@ -4054,7 +4066,7 @@ Finally, if optional SANS-OFFSPRING is non-nil then the offspring are not shifted. (Shifting a topic outwards without shifting its offspring is disallowed, since this would create a \"containment discontinuity\", where the depth difference between -a topic and its immediate offspring is greater than one..)" +a topic and its immediate offspring is greater than one.)" ;; XXX the recursion here is peculiar, and in general the routine may ;; need simplification with refactoring. @@ -4119,7 +4131,7 @@ a topic and its immediate offspring is greater than one..)" nil)))) ;;; do-successors ((< starting-depth new-depth) - ;; Rare case - subtopic more than one level deeper than parent. + ;; Rare case -- subtopic more than one level deeper than parent. ;; Treat this one at an even deeper level: (allout-rebullet-topic-grunt relative-depth new-depth @@ -4181,7 +4193,7 @@ Returns final depth." (defun allout-number-siblings (&optional denumber) "Assign numbered topic prefix to this topic and its siblings. -With universal argument, denumber - assign default bullet to this +With universal argument, denumber -- assign default bullet to this topic and its siblings. With repeated universal argument (`^U^U'), solicit bullet for each @@ -4340,7 +4352,7 @@ Trailing whitespace is killed with a topic if that whitespace: previous one. Topic exposure is marked with text-properties, to be used by -allout-yank-processing for exposure recovery." +`allout-yank-processing' for exposure recovery." (interactive) (let* ((inhibit-field-text-motion t) @@ -4371,7 +4383,7 @@ allout-yank-processing for exposure recovery." (run-hook-with-args 'allout-structure-deleted-hook depth (point)))) ;;;_ > allout-copy-topic-as-kill () (defun allout-copy-topic-as-kill () - "Like allout-kill-topic, but save to kill ring instead of deleting." + "Like `allout-kill-topic', but save to kill ring instead of deleting." (interactive) (let ((buffer-read-only t)) (condition-case nil @@ -4396,7 +4408,7 @@ allout-yank-processing for exposure recovery." 'invisible nil end)))) (if (or (not next) (eq prev next)) - ;; still not at start of hidden area - must not be any left. + ;; still not at start of hidden area -- must not be any left. (setq done t) (goto-char next) (setq prev next) @@ -4437,7 +4449,7 @@ allout-yank-processing for exposure recovery." 'allout-was-hidden nil end))) (if (or (not next) (eq prev next)) - ;; no more or not advancing - must not be any left. + ;; no more or not advancing -- must not be any left. (setq done t) (goto-char next) (setq prev next) @@ -4493,7 +4505,7 @@ however, are left exactly like normal, non-allout-specific yanks." (rectify-numbering (or resituate (and into-bol (looking-at allout-regexp))))) (if resituate - ;; Yanking a topic into the start of a topic - reconcile to fit: + ;; Yanking a topic into the start of a topic -- reconcile to fit: (let* ((inhibit-field-text-motion t) (prefix-len (if (not (match-end 1)) 1 @@ -4632,7 +4644,7 @@ works with normal `yank' in non-outline buffers." Adapts level of popped topics to level of fresh prefix. -Note - prefix changes to distinctive bullets will stick, if followed +Note -- prefix changes to distinctive bullets will stick, if followed by pops to non-distinctive yanks. Bug..." (interactive "*p") @@ -4651,7 +4663,7 @@ by pops to non-distinctive yanks. Bug..." (interactive) (if (not allout-file-xref-bullet) (error - "Outline cross references disabled - no `allout-file-xref-bullet'") + "Outline cross references disabled -- no `allout-file-xref-bullet'") (if (not (string= (allout-current-bullet) allout-file-xref-bullet)) (error "Current heading lacks cross-reference bullet `%s'" allout-file-xref-bullet) @@ -4873,16 +4885,16 @@ Useful for coherently exposing to a random point in a hidden region." ))) ;;;_ > allout-show-current-subtree (&optional arg) (defun allout-show-current-subtree (&optional arg) - "Show everything within the current topic. With a repeat-count, -expose this topic and its siblings." + "Show everything within the current topic. +With a repeat-count, expose this topic and its siblings." (interactive "P") (save-excursion (if (<= (allout-current-depth) 0) - ;; Outside any topics - try to get to the first: + ;; Outside any topics -- try to get to the first: (if (not (allout-next-heading)) (error "No topics") - ;; got to first, outermost topic - set to expose it and siblings: - (message "Above outermost topic - exposing all.") + ;; got to first, outermost topic -- set to expose it and siblings: + (message "Above outermost topic -- exposing all.") (allout-flag-region (point-min)(point-max) nil)) (allout-beginning-of-current-line) (if (not arg) @@ -4919,7 +4931,7 @@ siblings, even if the target topic is already closed." (interactive) (let* ((from (point)) - (sibs-msg "Top-level topic already closed - closing siblings...") + (sibs-msg "Top-level topic already closed -- closing siblings...") (current-exposed (not (allout-current-topic-collapsed-p t)))) (cond (current-exposed (allout-flag-current-subtree t)) (just-close nil) @@ -5007,13 +5019,13 @@ Simple (numeric and null-list) specs are interpreted as follows: that level. - positive numbers open to the relative depth indicated by the number, but do not force already opened subtopics to be closed. - - 0 means to close topic - hide all offspring. + - 0 means to close topic -- hide all offspring. : - `repeat' apply prior element to all siblings at current level, *up to* those siblings that would be covered by specs following the `:' on the list. Ie, apply to all topics at level but the last ones. (Only first of multiple colons at same level is - respected - subsequent ones are discarded.) + respected -- subsequent ones are discarded.) * - completely opens the topic, including bodies. + - shows all the sub headers, but not the bodies - - exposes the body of the corresponding topic. @@ -5061,11 +5073,11 @@ Examples: ;; Expand the `repeat' spec to an explicit version, ;; w.r.t. remaining siblings: (let ((residue ; = # of sibs not covered by remaining spec - ;; Dang - could be nice to make use of the chart, sigh: + ;; Dang, could be nice to make use of the chart, sigh: (- (length (allout-chart-siblings)) (length spec)))) (if (< 0 residue) - ;; Some residue - cover it with prev-elem: + ;; Some residue -- cover it with prev-elem: (setq spec (append (make-list residue prev-elem) spec))))))) ((numberp curr-elem) @@ -5199,7 +5211,7 @@ Examples: (error "allout-new-exposure: Can't find any outline topics")) (list 'allout-expose-topic (list 'quote spec)))) -;;;_ #7 Systematic outline presentation - copying, printing, flattening +;;;_ #7 Systematic outline presentation -- copying, printing, flattening ;;;_ - Mapping and processing of topics ;;;_ ( See also Subtree Charting, in Navigation code.) @@ -5287,12 +5299,12 @@ the subject region. Optional START and END indicate bounds of region. -optional arg, FORMAT, designates an alternate presentation form for +Optional arg, FORMAT, designates an alternate presentation form for the prefix: - list - Present prefix as numeric section.subsection..., starting with + list -- Present prefix as numeric section.subsection..., starting with section indicated by the list, innermost nesting first. - `indent' (symbol) - Convert header prefixes to all white space, + `indent' (symbol) -- Convert header prefixes to all white space, except for distinctive bullets. The elements of the list produced are lists that represents a topic @@ -5317,7 +5329,7 @@ header and body. The elements of that list are: (beginning-of-line) ;; Goto initial topic, and register preceeding stuff, if any: (if (> (allout-goto-prefix-doublechecked) start) - ;; First topic follows beginning point - register preliminary stuff: + ;; First topic follows beginning point -- register preliminary stuff: (setq result (list (list 0 "" nil (buffer-substring start (1- (point))))))) (while (and (not done) @@ -5385,7 +5397,7 @@ header and body. The elements of that list are: (cond ((= new-depth depth) (setq format (cons (1+ (car format)) (cdr format)))) - ((> new-depth depth) ; descending - assume by 1: + ((> new-depth depth) ; descending -- assume by 1: (setq format (cons 1 format))) (t ; Pop the residue: @@ -5416,12 +5428,12 @@ Apply FUNCTION to exposed portions FROM position TO position in buffer FROMBUF to buffer TOBUF. Sixth optional arg, FORMAT, designates an alternate presentation form: - `flat' - Present prefix as numeric section.subsection..., starting with - section indicated by the start-num, innermost nesting first. - X`flat-indented' - Prefix is like `flat' for first topic at each + `flat' -- Present prefix as numeric section.subsection..., starting with + section indicated by the START-NUM, innermost nesting first. + X`flat-indented' -- Prefix is like `flat' for first topic at each X level, but subsequent topics have only leaf topic X number, padded with blanks to line up with first. - `indent' (symbol) - Convert header prefixes to all white space, + `indent' (symbol) -- Convert header prefixes to all white space, except for distinctive bullets. Defaults: @@ -5441,19 +5453,19 @@ Defaults: (setq from (point-min) to (point-max)))) (if frombuf (if (not (bufferp frombuf)) - ;; Specified but not a buffer - get it: + ;; Specified but not a buffer -- get it: (let ((got (get-buffer frombuf))) (if (not got) (error (concat "allout-process-exposed: source buffer " frombuf " not found.")) (setq frombuf got)))) - ;; not specified - default it: + ;; not specified -- default it: (setq frombuf (current-buffer))) (if tobuf (if (not (bufferp tobuf)) (setq tobuf (get-buffer-create tobuf))) - ;; not specified - default it: + ;; not specified -- default it: (setq tobuf (concat "*" (buffer-name frombuf) " exposed*"))) (if (listp format) (nreverse format)) @@ -5540,7 +5552,7 @@ alternate presentation format for the outline: (defun allout-flatten-exposed-to-buffer (&optional arg tobuf) "Present numeric outline of outline's exposed portions in another buffer. -The resulting outline is not compatible with outline mode - use +The resulting outline is not compatible with outline mode -- use `allout-copy-exposed-to-buffer' if you want that. Use `allout-indented-exposed-to-buffer' for indented presentation. @@ -5556,7 +5568,7 @@ used verbatim." (defun allout-indented-exposed-to-buffer (&optional arg tobuf) "Present indented outline of outline's exposed portions in another buffer. -The resulting outline is not compatible with outline mode - use +The resulting outline is not compatible with outline mode -- use `allout-copy-exposed-to-buffer' if you want that. Use `allout-flatten-exposed-to-buffer' for numeric sectional presentation. @@ -5784,7 +5796,7 @@ encryption are encrypted. See allout-encrypt-unencrypted-on-saves for auto-encryption specifics. \*NOTE WELL* that automatic encryption that happens during saves will -default to symmetric encryption - you must deliberately (re)encrypt key-pair +default to symmetric encryption -- you must deliberately (re)encrypt key-pair encrypted topics if you want them to continue to use the key-pair cipher. Level-one topics, with prefix consisting solely of an `*' asterisk, cannot be @@ -5871,7 +5883,7 @@ See `allout-toggle-current-subtree-encryption' for more details." subtree-end)) (subtree-end-char (char-after (1- subtree-end))) (subtree-trailing-char (char-after subtree-end)) - ;; kluge - result-text needs to be nil, but we also want to + ;; kluge -- result-text needs to be nil, but we also want to ;; check for the error condition (result-text (if (or (string= "" subject-text) (string= "\n" subject-text)) @@ -5958,18 +5970,19 @@ If DECRYPT is true (default false), then decrypt instead of encrypt. FETCH-PASS (default false) forces fresh prompting for the passphrase. -KEY-TYPE indicates whether to use a 'symmetric or 'keypair cipher. +KEY-TYPE, either `symmetric' or `keypair', specifies which type +of cypher to use. FOR-KEY is human readable identification of the first of the user's eligible secret keys a keypair decryption targets, or else nil. -Optional RETRIED is for internal use - conveys the number of failed keys +Optional RETRIED is for internal use -- conveys the number of failed keys that have been solicited in sequence leading to this current call. Optional PASSPHRASE enables explicit delivery of the decryption passphrase, for verification purposes. -Optional REJECTED is for internal use - conveys the number of +Optional REJECTED is for internal use -- conveys the number of rejections due to matches against `allout-encryption-ciphertext-rejection-regexps', as limited by `allout-encryption-ciphertext-rejection-ceiling'. @@ -6066,15 +6079,15 @@ Returns the resulting string, or nil if the transformation fails." (if status (pgg-situate-output (point-min) (point-max)) - ;; failed - handle passphrase caching + ;; failed -- handle passphrase caching (if verifying (throw 'encryption-failed nil) (pgg-remove-passphrase-from-cache target-cache-id t) - (error "Symmetric-cipher %scryption failed - %s" + (error "Symmetric-cipher %scryption failed -- %s" (if decrypt "de" "en") - "try again with different passphrase.")))) + "try again with different passphrase")))) - ;; encrypt 'keypair: + ;; encrypt `keypair': ((not decrypt) (setq status @@ -6087,7 +6100,7 @@ Returns the resulting string, or nil if the transformation fails." (error (pgg-remove-passphrase-from-cache target-cache-id t) (error "encryption failed")))) - ;; decrypt 'keypair: + ;; decrypt `keypair': (t (setq status @@ -6103,7 +6116,7 @@ Returns the resulting string, or nil if the transformation fails." 1 (- (point-max) (if decrypt 0 1)))) ) - ;; validate result - non-empty + ;; validate result -- non-empty (cond ((not result-text) (if verifying nil @@ -6139,7 +6152,7 @@ Returns the resulting string, or nil if the transformation fails." (string-match "[\C-a\C-k\C-o-\C-z\C-@]" result-text)) (error (concat "Encryption produced non-armored text, which" - "conflicts with allout mode - reconfigure!"))) + "conflicts with allout mode -- reconfigure!"))) ;; valid result and just verifying or non-symmetric: ((or verifying (not (equal key-type 'symmetric))) @@ -6148,7 +6161,7 @@ Returns the resulting string, or nil if the transformation fails." passphrase t)) result-text) - ;; valid result and regular symmetric - "register" + ;; valid result and regular symmetric -- "register" ;; passphrase with mnemonic aids/cache. (t (set-buffer allout-buffer) @@ -6179,7 +6192,7 @@ CACHE-ID is the cache id of the key for the passphrase. PROMPT-ID is the id for use when prompting the user. -KEY-TYPE is either 'symmetric or 'keypair. +KEY-TYPE is either `symmetric' or `keypair'. ALLOUT-BUFFER is the buffer containing the entry being en/decrypted. @@ -6242,7 +6255,7 @@ of the availability of a cached copy." (if (and (not confirmation) (if (yes-or-no-p (concat "Passphrase differs from established" - " - use new one instead? ")) + " -- use new one instead? ")) ;; deactivate password for subsequent ;; confirmation: (progn @@ -6252,11 +6265,11 @@ of the availability of a cached copy." t)) (progn (pgg-remove-passphrase-from-cache cache-id t) (error "Wrong passphrase.")))) - ;; No verifier string - force confirmation by repetition of + ;; No verifier string -- force confirmation by repetition of ;; (new) passphrase: ((or fetch-pass (not cached)) (pgg-remove-passphrase-from-cache cache-id t)))) - ;; confirmation vs new input - doing pgg-read-passphrase will do the + ;; confirmation vs new input -- doing pgg-read-passphrase will do the ;; right thing, in either case: (if (not confirmation) (setq confirmation @@ -6267,7 +6280,7 @@ of the availability of a cached copy." (if (equal got-pass confirmation) confirmation (if (yes-or-no-p (concat "spelling of original and" - " confirmation differ - retry? ")) + " confirmation differ -- retry? ")) (progn (setq retried (if retried (1+ retried) 1)) (pgg-remove-passphrase-from-cache cache-id t) ;; recurse to this routine: @@ -6289,10 +6302,10 @@ of the availability of a cached copy." (defun allout-encrypted-key-info (text) "Return a pair of the key type and identity of a recipient's secret key. -The key type is one of 'symmetric or 'keypair. +The key type is one of `symmetric' or `keypair'. -if 'keypair, and some of the user's secret keys are among those for which -the message was encoded, return the identity of the first. otherwise, +If `keypair', and some of the user's secret keys are among those for which +the message was encoded, return the identity of the first. Otherwise, return nil for the second item of the pair. An error is raised if the text is not encrypted." @@ -6337,7 +6350,7 @@ An error is raised if the text is not encrypted." See `allout-passphrase-verifier-string' and `allout-passphrase-hint-string' settings. -PASSPHRASE is the passphrase being mnemonicized +PASSPHRASE is the passphrase being mnemonicized. OUTLINE-BUFFER is the buffer of the outline being adjusted. @@ -6415,7 +6428,7 @@ EXCEPT-MARK identifies a point whose containing topics should be excluded from encryption. This supports 'except-current mode of `allout-encrypt-unencrypted-on-saves'. -Such a topic has the allout-topic-encryption-bullet without an +Such a topic has the `allout-topic-encryption-bullet' without an immediately following '*' that would mark the topic as being encrypted. It must also have content." (let (done got content-beg) @@ -6467,7 +6480,7 @@ must also have content." "Encrypt topics pending encryption except those containing exemption point. EXCEPT-MARK identifies a point whose containing topics should be excluded -from encryption. This supports 'except-current mode of +from encryption. This supports the `except-current' mode of `allout-encrypt-unencrypted-on-saves'. If a topic that is currently being edited was encrypted, we return a list @@ -6533,7 +6546,7 @@ setup for auto-startup." (if (allout-goto-prefix) t (allout-open-topic 2) - (insert (concat "Dummy outline topic header - see" + (insert (concat "Dummy outline topic header -- see" "`allout-mode' docstring: `^Hm'.")) (allout-adjust-file-variable "allout-layout" (or allout-layout '(-1 : 0)))))) @@ -6541,7 +6554,7 @@ setup for auto-startup." (defun allout-file-vars-section-data () "Return data identifying the file-vars section, or nil if none. -Returns list `(beginning-point prefix-string suffix-string)'." +Returns a list of the form (BEGINNING-POINT PREFIX-STRING SUFFIX-STRING)." ;; minimally gleaned from emacs 21.4 files.el hack-local-variables function. (let (beg prefix suffix) (save-excursion @@ -6643,7 +6656,7 @@ not its value." got) (dolist (sym configvar-value) (if (not (boundp sym)) - (if (yes-or-no-p (format "%s entry `%s' is unbound - remove it? " + (if (yes-or-no-p (format "%s entry `%s' is unbound -- remove it? " configvar-name sym)) (delq sym (symbol-value configvar-name))) (push (symbol-value sym) got))) @@ -6690,7 +6703,7 @@ Optional arg DO-DEFAULTING indicates to accept empty input (CR)." string "")) nil)))) - ;; got something out of loop - return it: + ;; got something out of loop -- return it: got) ) ;;;_ : Strings: @@ -6698,7 +6711,7 @@ Optional arg DO-DEFAULTING indicates to accept empty input (CR)." (defun regexp-sans-escapes (regexp &optional successive-backslashes) "Return a copy of REGEXP with all character escapes stripped out. -Representations of actual backslashes - '\\\\\\\\' - are left as a +Representations of actual backslashes -- '\\\\\\\\' -- are left as a single backslash. Optional arg SUCCESSIVE-BACKSLASHES is used internally for recursion." @@ -6745,7 +6758,7 @@ If BEG is bigger than END we return 0." (cond ((null list) nil) ((atom (car list)) (cons (car list) (allout-flatten (cdr list)))) (t (append (allout-flatten (car list)) (allout-flatten (cdr list)))))) -;;;_ : Compatability: +;;;_ : Compatibility: ;;;_ > allout-mark-marker to accommodate divergent emacsen: (defun allout-mark-marker (&optional force buffer) "Accommodate the different signature for `mark-marker' across Emacsen. @@ -6797,7 +6810,7 @@ BEG and END default respectively to the beginning and end of buffer." (move-overlay o end (overlay-end o)) (delete-overlay o))))))) ) -;;;_ > copy-overlay if necessary - xemacs ~ 21.4 +;;;_ > copy-overlay if necessary -- xemacs ~ 21.4 (if (not (fboundp 'copy-overlay)) (defun copy-overlay (o) "Return a copy of overlay O." @@ -6809,7 +6822,7 @@ BEG and END default respectively to the beginning and end of buffer." (while props (overlay-put o1 (pop props) (pop props))) o1))) -;;;_ > add-to-invisibility-spec if necessary - xemacs ~ 21.4 +;;;_ > add-to-invisibility-spec if necessary -- xemacs ~ 21.4 (if (not (fboundp 'add-to-invisibility-spec)) (defun add-to-invisibility-spec (element) "Add ELEMENT to `buffer-invisibility-spec'. @@ -6819,14 +6832,14 @@ that can be added." (setq buffer-invisibility-spec (list t))) (setq buffer-invisibility-spec (cons element buffer-invisibility-spec)))) -;;;_ > remove-from-invisibility-spec if necessary - xemacs ~ 21.4 +;;;_ > remove-from-invisibility-spec if necessary -- xemacs ~ 21.4 (if (not (fboundp 'remove-from-invisibility-spec)) (defun remove-from-invisibility-spec (element) "Remove ELEMENT from `buffer-invisibility-spec'." (if (consp buffer-invisibility-spec) (setq buffer-invisibility-spec (delete element buffer-invisibility-spec))))) -;;;_ > move-beginning-of-line if necessary - older emacs, xemacs +;;;_ > move-beginning-of-line if necessary -- older emacs, xemacs (if (not (fboundp 'move-beginning-of-line)) (defun move-beginning-of-line (arg) "Move point to beginning of current line as displayed. @@ -6850,7 +6863,7 @@ To ignore intangibility, bind `inhibit-point-motion-hooks' to t." (skip-chars-backward "^\n")) (vertical-motion 0)) ) -;;;_ > move-end-of-line if necessary - older emacs, xemacs +;;;_ > move-end-of-line if necessary -- older emacs, xemacs (if (not (fboundp 'move-end-of-line)) (defun move-end-of-line (arg) "Move point to end of current line as displayed. @@ -6919,7 +6932,7 @@ To ignore intangibility, bind `inhibit-point-motion-hooks' to t." (isearch-repeat 'forward) (isearch-mode t))) -;;;_ #11 Unit tests - this should be last item before "Provide" +;;;_ #11 Unit tests -- this should be last item before "Provide" ;;;_ > allout-run-unit-tests () (defun allout-run-unit-tests () "Run the various allout unit tests." @@ -6935,11 +6948,11 @@ To ignore intangibility, bind `inhibit-point-motion-hooks' to t." (while (boundp name) (makunbound name))) ;;;_ > allout-test-resumptions () (defvar allout-tests-globally-unbound nil - "Fodder for allout resumptions tests - defvar just for byte compiler.") + "Fodder for allout resumptions tests -- defvar just for byte compiler.") (defvar allout-tests-globally-true nil - "Fodder for allout resumptions tests - defvar just just for byte compiler.") + "Fodder for allout resumptions tests -- defvar just for byte compiler.") (defvar allout-tests-locally-true nil - "Fodder for allout resumptions tests - defvar just for byte compiler.") + "Fodder for allout resumptions tests -- defvar just for byte compiler.") (defun allout-test-resumptions () "Exercise allout resumptions." ;; for each resumption case, we also test that the right local/global @@ -6975,10 +6988,10 @@ To ignore intangibility, bind `inhibit-point-motion-hooks' to t." (allout-tests-obliterate-variable 'allout-tests-locally-true) (set (make-local-variable 'allout-tests-locally-true) t) (assert (not (default-boundp 'allout-tests-locally-true)) - nil (concat "Test setup mistake - variable supposed to" + nil (concat "Test setup mistake -- variable supposed to" " not have global binding, but it does.")) (assert (local-variable-p 'allout-tests-locally-true) - nil (concat "Test setup mistake - variable supposed to have" + nil (concat "Test setup mistake -- variable supposed to have" " local binding, but it lacks one.")) (allout-add-resumptions '(allout-tests-locally-true nil)) (assert (not (default-boundp 'allout-tests-locally-true))) diff --git a/lisp/ansi-color.el b/lisp/ansi-color.el index ad33ab2533d..2e40d497167 100644 --- a/lisp/ansi-color.el +++ b/lisp/ansi-color.el @@ -1,7 +1,7 @@ ;;; ansi-color.el --- translate ANSI escape sequences into faces ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Alex Schroeder ;; Maintainer: Alex Schroeder @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify it ;; under the terms of the GNU General Public License as published by the -;; Free Software Foundation; either version 2, or (at your option) any +;; Free Software Foundation; either version 3, or (at your option) any ;; later version. ;; ;; GNU Emacs is distributed in the hope that it will be useful, but diff --git a/lisp/apropos.el b/lisp/apropos.el index 8df7992230a..704b1864832 100644 --- a/lisp/apropos.el +++ b/lisp/apropos.el @@ -1,7 +1,7 @@ ;;; apropos.el --- apropos commands for users and programmers ;; Copyright (C) 1989, 1994, 1995, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Joe Wells ;; Rewritten: Daniel Pfeiffer @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el index 1a22ac628e6..20dccf9becc 100644 --- a/lisp/arc-mode.el +++ b/lisp/arc-mode.el @@ -1,7 +1,7 @@ ;;; arc-mode.el --- simple editing of archives ;; Copyright (C) 1995, 1997, 1998, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Morten Welinder ;; Keywords: archives msdog editing major-mode @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/array.el b/lisp/array.el index 979101ef75d..d6c3cd9d8b1 100644 --- a/lisp/array.el +++ b/lisp/array.el @@ -1,7 +1,7 @@ ;;; array.el --- array editing commands for GNU Emacs ;; Copyright (C) 1987, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author David M. Brown ;; Maintainer: FSF @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/autoarg.el b/lisp/autoarg.el index 39dd3219621..29139eb5ef8 100644 --- a/lisp/autoarg.el +++ b/lisp/autoarg.el @@ -1,7 +1,7 @@ ;;; autoarg.el --- make digit keys supply prefix args ;; Copyright (C) 1998, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Dave Love ;; Created: 1998-09-04 @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/autoinsert.el b/lisp/autoinsert.el index 7540ad78bcd..3588fb886d8 100644 --- a/lisp/autoinsert.el +++ b/lisp/autoinsert.el @@ -1,7 +1,7 @@ ;;; autoinsert.el --- automatic mode-dependent insertion of text into new files ;; Copyright (C) 1985, 1986, 1987, 1994, 1995, 1998, 2000, 2001, 2002, -;; 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Charlie Martin ;; Adapted-By: Daniel Pfeiffer @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -179,7 +179,7 @@ If this contains a %s, that will be replaced by the matching rule." ;;'(setq v1 (apply 'vector (mapcar 'car finder-known-keywords))) '(setq v1 (mapcar (lambda (x) (list (symbol-name (car x)))) finder-known-keywords) - v2 (mapconcat (lambda (x) (format "%10.0s: %s" (car x) (cdr x))) + v2 (mapconcat (lambda (x) (format "%12s: %s" (car x) (cdr x))) finder-known-keywords "\n")) ((let ((minibuffer-help-form v2)) @@ -188,7 +188,7 @@ If this contains a %s, that will be replaced by the matching rule." ;; This file is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; This file is distributed in the hope that it will be useful, diff --git a/lisp/autorevert.el b/lisp/autorevert.el index 170ca4b88c2..8eda9e0ecea 100644 --- a/lisp/autorevert.el +++ b/lisp/autorevert.el @@ -1,7 +1,7 @@ ;;; autorevert.el --- revert buffers when files on disk change ;; Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Anders Lindgren ;; Keywords: convenience @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -315,7 +315,7 @@ This function is designed to be added to hooks, for example: ;;;###autoload (define-minor-mode auto-revert-tail-mode "Toggle reverting tail of buffer when file on disk grows. -With arg, turn Tail mode on iff arg is positive. +With arg, turn Tail mode on if arg is positive, otherwise turn it off. When Tail mode is enabled, the tail of the file is constantly followed, as with the shell command `tail -f'. This means that @@ -337,6 +337,22 @@ Use `auto-revert-mode' for changes other than appends!" (not auto-revert-tail-pos) ; library was loaded only after finding file (not (y-or-n-p "Buffer is modified, so tail offset may be wrong. Proceed? "))) (auto-revert-tail-mode 0) + ;; a-r-tail-pos stores the size of the file at the time of the + ;; last revert. After this package loads, it adds a + ;; find-file-hook to set this variable every time a file is + ;; loaded. If the package is loaded only _after_ visiting the + ;; file to be reverted, then we have no idea what the value of + ;; a-r-tail-pos should have been when the file was visited. If + ;; the file has changed on disk in the meantime, all we can do + ;; is offer to revert the whole thing. If you choose not to + ;; revert, then you might miss some output then happened + ;; between visiting the file and activating a-r-t-mode. + (and (zerop auto-revert-tail-pos) + (not (verify-visited-file-modtime (current-buffer))) + (y-or-n-p "File changed on disk, content may be missing. \ +Perform a full revert? ") + ;; Use this (not just revert-buffer) for point-preservation. + (auto-revert-handler)) ;; else we might reappend our own end when we save (add-hook 'before-save-hook (lambda () (auto-revert-tail-mode 0)) nil t) (or (local-variable-p 'auto-revert-tail-pos) ; don't lose prior position diff --git a/lisp/avoid.el b/lisp/avoid.el index 22eb4aad9aa..5df58356335 100644 --- a/lisp/avoid.el +++ b/lisp/avoid.el @@ -1,7 +1,7 @@ ;;; avoid.el --- make mouse pointer stay out of the way of editing ;; Copyright (C) 1993, 1994, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Boris Goldowsky ;; Keywords: mouse @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/battery.el b/lisp/battery.el index f10245f44ac..1871a8bfb74 100644 --- a/lisp/battery.el +++ b/lisp/battery.el @@ -1,7 +1,7 @@ ;;; battery.el --- display battery status information ;; Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Ralph Schleicher ;; Keywords: hardware @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/bindings.el b/lisp/bindings.el index 5f3279a9ac4..70e3a97588d 100644 --- a/lisp/bindings.el +++ b/lisp/bindings.el @@ -1,7 +1,7 @@ ;;; bindings.el --- define standard key bindings and some variables ;; Copyright (C) 1985, 1986, 1987, 1992, 1993, 1994, 1995, 1996, 1999, -;; 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: internal @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -476,7 +476,7 @@ Menu of mode operations in the mode line.") (defvar minor-mode-alist nil "\ Alist saying how to show minor modes in the mode line. Each element looks like (VARIABLE STRING); -STRING is included in the mode line iff VARIABLE's value is non-nil. +STRING is included in the mode line if VARIABLE's value is non-nil. Actually, STRING need not be a string; any possible mode-line element is okay. See `mode-line-format'.") @@ -680,7 +680,8 @@ language you are using." ;; Override the global binding (which calls indent-relative via ;; indent-for-tab-command). The alignment that indent-relative tries to ;; do doesn't make much sense here since the prompt messes it up. - (define-key map "\t" 'self-insert-command)) + (define-key map "\t" 'self-insert-command) + (define-key minibuffer-local-map [C-tab] 'file-cache-minibuffer-complete)) (define-key global-map "\C-u" 'universal-argument) (let ((i ?0)) @@ -1050,6 +1051,9 @@ language you are using." (define-key ctl-x-map "z" 'repeat) +(define-key esc-map "\C-l" 'reposition-window) + +(define-key ctl-x-4-map "a" 'add-change-log-entry-other-window) (define-key ctl-x-4-map "c" 'clone-indirect-buffer-other-window) ;; Signal handlers diff --git a/lisp/bookmark.el b/lisp/bookmark.el index 3c1469fef97..135ff83d854 100644 --- a/lisp/bookmark.el +++ b/lisp/bookmark.el @@ -1,7 +1,7 @@ ;;; bookmark.el --- set bookmarks, maybe annotate them, jump to them later ;; Copyright (C) 1993, 1994, 1995, 1996, 1997, 2001, 2002, 2003, -;; 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Karl Fogel ;; Maintainer: Karl Fogel @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -1044,10 +1044,10 @@ For example, if this is a Info buffer, return the Info file's name." ;;Return the bookmark-alist for display. If the bookmark-sort-flag ;;is non-nil, then return a sorted copy of the alist. (if bookmark-sort-flag - (setq bookmark-alist - (sort (copy-alist bookmark-alist) - (function - (lambda (x y) (string-lessp (car x) (car y)))))))) + (sort (copy-alist bookmark-alist) + (function + (lambda (x y) (string-lessp (car x) (car y))))) + bookmark-alist)) (defvar bookmark-after-jump-hook nil @@ -1568,7 +1568,6 @@ deletion, or > if it is flagged for displaying." (insert "% Bookmark\n- --------\n") (add-text-properties (point-min) (point) '(font-lock-face bookmark-menu-heading)) - (bookmark-maybe-sort-alist) (mapcar (lambda (full-record) ;; if a bookmark has an annotation, prepend a "*" @@ -1591,7 +1590,7 @@ deletion, or > if it is flagged for displaying." help-echo "mouse-2: go to this bookmark in other window"))) (insert "\n") ))) - bookmark-alist)) + (bookmark-maybe-sort-alist))) (goto-char (point-min)) (forward-line 2) (bookmark-bmenu-mode) @@ -1794,7 +1793,8 @@ if an annotation exists." (if (and ann (not (string-equal ann ""))) ;; insert the annotation, indented by 4 spaces. (progn - (save-excursion (insert ann)) + (save-excursion (insert ann) (unless (bolp) + (insert "\n"))) (while (< (point) (point-max)) (beginning-of-line) ; paranoia (insert " ") diff --git a/lisp/bs.el b/lisp/bs.el index b1fa47100f0..01fd6180252 100644 --- a/lisp/bs.el +++ b/lisp/bs.el @@ -1,7 +1,7 @@ ;;; bs.el --- menu for selecting and displaying buffers ;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Olaf Sylvester ;; Maintainer: Olaf Sylvester ;; Keywords: convenience @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -131,8 +131,6 @@ ;;; Code: -(defvar font-lock-verbose) - ;; ---------------------------------------------------------------------- ;; Globals for customization ;; ---------------------------------------------------------------------- @@ -244,7 +242,8 @@ The function gets one argument - the buffer to test.") (defvar bs-buffer-sort-function nil "Sort function to sort the buffers that appear in Buffer Selection Menu. -The function gets two arguments - the buffers to compare.") +The function gets two arguments - the buffers to compare. +It must return non-nil if the first buffer should sort before the second.") (defcustom bs-maximal-buffer-name-column 45 "*Maximum column width for buffer names. @@ -337,7 +336,7 @@ Must be a string used in `bs-configurations' for naming a configuration." :type 'string) (defcustom bs-string-show-normally " " - "*String added in column 1 indicating a unmarked buffer." + "*String added in column 1 indicating an unmarked buffer." :group 'bs-appearance :type 'string) @@ -393,9 +392,9 @@ A value of `always' means to show buffer regardless of the configuration.") ("by nothing" nil nil nil)) "*List of all possible sorting aspects for Buffer Selection Menu. You can add a new entry with a call to `bs-define-sort-function'. -Each element is a list of four elements (NAME FUNCTION REGEXP-FOR-SORTING FACE) +Each element is a list of four elements (NAME FUNCTION REGEXP-FOR-SORTING FACE). NAME specifies the sort order defined by function FUNCTION. -FUNCTION nil means don't sort the buffer list. Otherwise the functions +FUNCTION nil means don't sort the buffer list. Otherwise the function must have two parameters - the buffers to compare. REGEXP-FOR-SORTING is a regular expression which describes the column title to highlight. @@ -446,7 +445,6 @@ defined by current configuration `bs-current-configuration'.") (defvar bs--window-config-coming-from nil "Window configuration before starting Buffer Selection Menu.") -(make-variable-frame-local 'bs--window-config-coming-from) (defvar bs--intern-show-never "^ \\|\\*buffer-selection\\*" "Regular expression specifying which buffers never to show. @@ -615,12 +613,29 @@ actually the line which begins with character in `bs-string-current' or (format "Show buffer by configuration %S" bs-current-configuration))) -(defun bs-mode () +(defun bs--track-window-changes (frame) + "Track window changes to refresh the buffer list. +Used from `window-size-change-functions'." + (let ((win (get-buffer-window "*buffer-selection*" frame))) + (when win + (with-selected-window win + (bs--set-window-height))))) + +(defun bs--remove-hooks () + "Remove `bs--track-window-changes' and auxiliary hooks." + (remove-hook 'window-size-change-functions 'bs--track-window-changes) + ;; Remove itself + (remove-hook 'kill-buffer-hook 'bs--remove-hooks t) + (remove-hook 'change-major-mode-hook 'bs--remove-hooks t)) + +(put 'bs-mode 'mode-class 'special) + +(define-derived-mode bs-mode () "Buffer-Selection-Menu" "Major mode for editing a subset of Emacs' buffers. \\ Aside from two header lines each line describes one buffer. Move to a line representing the buffer you want to edit and select -buffer by \\[bs-select] or SPC. Abort buffer list with \\[bs-kill]. +buffer by \\[bs-select] or SPC. Abort buffer list with \\[bs-kill]. There are many key commands similar to `Buffer-menu-mode' for manipulating the buffer list and buffers. For faster navigation each digit key is a digit argument. @@ -648,28 +663,31 @@ available Buffer Selection Menu configuration. to show always. \\[bs-visit-tags-table] -- call `visit-tags-table' on current line's buffer. \\[bs-help] -- display this help text." - (interactive) - (kill-all-local-variables) - (use-local-map bs-mode-map) (make-local-variable 'font-lock-defaults) (make-local-variable 'font-lock-verbose) + (make-local-variable 'font-lock-global-modes) (buffer-disable-undo) - (setq major-mode 'bs-mode - mode-name "Buffer-Selection-Menu" - buffer-read-only t + (setq buffer-read-only t truncate-lines t + show-trailing-whitespace nil + font-lock-global-modes '(not bs-mode) font-lock-defaults '(bs-mode-font-lock-keywords t) font-lock-verbose nil) - (run-mode-hooks 'bs-mode-hook)) + (add-hook 'window-size-change-functions 'bs--track-window-changes) + (add-hook 'kill-buffer-hook 'bs--remove-hooks nil t) + (add-hook 'change-major-mode-hook 'bs--remove-hooks nil t)) (defun bs--restore-window-config () "Restore window configuration on the current frame." (when bs--window-config-coming-from - (set-window-configuration bs--window-config-coming-from) + (let ((frame (selected-frame))) + (unwind-protect + (set-window-configuration bs--window-config-coming-from) + (select-frame frame))) (setq bs--window-config-coming-from nil))) (defun bs-kill () - "Let buffer disappear and reset window-configuration." + "Let buffer disappear and reset window configuration." (interactive) (bury-buffer (current-buffer)) (bs--restore-window-config)) @@ -725,7 +743,7 @@ Leave Buffer Selection Menu." (defun bs-select () "Select current line's buffer and other marked buffers. If there are no marked buffers the window configuration before starting -Buffer Selectin Menu will be restored. +Buffer Selection Menu will be restored. If there are marked buffers each marked buffer and the current line's buffer will be selected in a window. Leave Buffer Selection Menu." @@ -750,7 +768,7 @@ Leave Buffer Selection Menu." (defun bs-select-other-window () "Select current line's buffer by `switch-to-buffer-other-window'. -The window configuration before starting Buffer Selectin Menu will be restored +The window configuration before starting Buffer Selection Menu will be restored unless there is no other window. In this case a new window will be created. Leave Buffer Selection Menu." (interactive) @@ -778,7 +796,7 @@ Leave Buffer Selection Menu." (defun bs-mouse-select-other-frame (event) "Select selected line's buffer in new created frame. Leave Buffer Selection Menu. -EVENT: a mouse click EVENT." +EVENT: a mouse click event." (interactive "e") (mouse-set-point event) (bs-select-other-frame)) @@ -929,7 +947,7 @@ WHAT is a value of nil, `never', or `always'." (bs-up 1)))) (defun bs-show-sorted () - "Show buffer list sorted by buffer name." + "Show buffer list sorted by next sort aspect." (interactive) (setq bs--current-sort-function (bs-next-config-aux (car bs--current-sort-function) @@ -1020,13 +1038,13 @@ If at end of buffer list go to first line." (forward-line 1))) (defun bs-visits-non-file (buffer) - "Return t or nil whether BUFFER visits no file. + "Return whether BUFFER visits no file. A value of t means BUFFER belongs to no file. A value of nil means BUFFER belongs to a file." (not (buffer-file-name buffer))) (defun bs-sort-buffer-interns-are-last (b1 b2) - "Function for sorting internal buffers B1 and B2 at the end of all buffers." + "Function for sorting internal buffers at the end of all buffers." (string-match "^\\*" (buffer-name b2))) ;; ---------------------------------------------------------------------- @@ -1034,7 +1052,7 @@ A value of nil means BUFFER belongs to a file." ;; ---------------------------------------------------------------------- (defun bs-config-clear () - "*Reset all variables which specify a configuration. + "Reset all variables which specify a configuration. These variables are `bs-dont-show-regexp', `bs-must-show-regexp', `bs-dont-show-function', `bs-must-show-function' and `bs-buffer-sort-function'." @@ -1221,10 +1239,13 @@ by buffer configuration `bs-cycle-configuration-name'." bs--cycle-list))) (next (car tupel)) (cycle-list (cdr tupel))) + (unless (window-dedicated-p (selected-window)) + ;; We don't want the frame iconified if the only window in the frame + ;; happens to be dedicated; let's get the error from switch-to-buffer + (bury-buffer)) + (switch-to-buffer next) (setq bs--cycle-list (append (cdr cycle-list) (list (car cycle-list)))) - (bury-buffer) - (switch-to-buffer next) (bs-message-without-log "Next buffers: %s" (or (cdr bs--cycle-list) "this buffer")))))) @@ -1251,9 +1272,9 @@ by buffer configuration `bs-cycle-configuration-name'." bs--cycle-list))) (prev-buffer (car tupel)) (cycle-list (cdr tupel))) + (switch-to-buffer prev-buffer) (setq bs--cycle-list (append (last cycle-list) (reverse (cdr (reverse cycle-list))))) - (switch-to-buffer prev-buffer) (bs-message-without-log "Previous buffers: %s" (or (reverse (cdr bs--cycle-list)) "this buffer")))))) @@ -1271,7 +1292,7 @@ or a string." (defun bs--get-marked-string (start-buffer all-buffers) "Return a string which describes whether current buffer is marked. START-BUFFER is the buffer where we started buffer selection. -ALL-BUFFERS is the list of buffer appearing in Buffer Selection Menu. +ALL-BUFFERS is the list of buffers appearing in Buffer Selection Menu. The result string is one of `bs-string-current', `bs-string-current-marked', `bs-string-marked', `bs-string-show-normally', `bs-string-show-never', or `bs-string-show-always'." @@ -1296,19 +1317,19 @@ The result string is one of `bs-string-current', `bs-string-current-marked', (defun bs--get-modified-string (start-buffer all-buffers) "Return a string which describes whether current buffer is modified. START-BUFFER is the buffer where we started buffer selection. -ALL-BUFFERS is the list of buffer appearing in Buffer Selection Menu." +ALL-BUFFERS is the list of buffers appearing in Buffer Selection Menu." (if (buffer-modified-p) "*" " ")) (defun bs--get-readonly-string (start-buffer all-buffers) "Return a string which describes whether current buffer is read only. START-BUFFER is the buffer where we started buffer selection. -ALL-BUFFERS is the list of buffer appearing in Buffer Selection Menu." +ALL-BUFFERS is the list of buffers appearing in Buffer Selection Menu." (if buffer-read-only "%" " ")) (defun bs--get-size-string (start-buffer all-buffers) "Return a string which describes the size of current buffer. START-BUFFER is the buffer where we started buffer selection. -ALL-BUFFERS is the list of buffer appearing in Buffer Selection Menu." +ALL-BUFFERS is the list of buffers appearing in Buffer Selection Menu." (int-to-string (buffer-size))) (defun bs--get-name (start-buffer all-buffers) @@ -1316,7 +1337,7 @@ ALL-BUFFERS is the list of buffer appearing in Buffer Selection Menu." The name of current buffer gets additional text properties for mouse highlighting. START-BUFFER is the buffer where we started buffer selection. -ALL-BUFFERS is the list of buffer appearing in Buffer Selection Menu." +ALL-BUFFERS is the list of buffers appearing in Buffer Selection Menu." (propertize (buffer-name) 'help-echo "mouse-2: select this buffer, mouse-3: select in other frame" 'mouse-face 'highlight)) @@ -1324,7 +1345,7 @@ ALL-BUFFERS is the list of buffer appearing in Buffer Selection Menu." (defun bs--get-mode-name (start-buffer all-buffers) "Return the name of mode of current buffer for Buffer Selection Menu. START-BUFFER is the buffer where we started buffer selection. -ALL-BUFFERS is the list of buffer appearing in Buffer Selection Menu." +ALL-BUFFERS is the list of buffers appearing in Buffer Selection Menu." mode-name) (defun bs--get-file-name (start-buffer all-buffers) @@ -1333,7 +1354,7 @@ This is the variable `buffer-file-name' of current buffer. If current mode is `dired-mode' or `shell-mode' it returns the default directory. START-BUFFER is the buffer where we started buffer selection. -ALL-BUFFERS is the list of buffer appearing in Buffer Selection Menu." +ALL-BUFFERS is the list of buffers appearing in Buffer Selection Menu." (propertize (if (member major-mode '(shell-mode dired-mode)) default-directory (or buffer-file-name "")) @@ -1369,7 +1390,7 @@ normally *buffer-selection*." string)) (defun bs--format-aux (string align len) - "Generate a string with STRING with alignment ALIGN and length LEN. + "Pad STRING to length LEN with alignment ALIGN. ALIGN is one of the symbols `left', `middle', or `right'." (let* ((width (length string)) (len (max len width))) @@ -1380,9 +1401,8 @@ ALIGN is one of the symbols `left', `middle', or `right'." (defun bs--show-header () "Insert header for Buffer Selection Menu in current buffer." - (mapcar '(lambda (string) - (insert string "\n")) - (bs--create-header))) + (dolist (string (bs--create-header)) + (insert string "\n"))) (defun bs--get-name-length () "Return value of `bs--name-entry-length'." @@ -1425,12 +1445,12 @@ for buffer selection." (active-window (get-window-with-predicate (lambda (w) (string= (buffer-name (window-buffer w)) - "*buffer-selection*"))))) + "*buffer-selection*")) + nil (selected-frame)))) (if active-window (select-window active-window) - (modify-frame-parameters nil - (list (cons 'bs--window-config-coming-from - (current-window-configuration)))) + (bs--restore-window-config) + (setq bs--window-config-coming-from (current-window-configuration)) (when (> (window-height (selected-window)) 7) (split-window-vertically) (other-window 1))) @@ -1468,7 +1488,7 @@ Otherwise return `bs-alternative-configuration'." "Make a menu of buffers so you can manipulate buffers or the buffer list. \\ There are many key commands similar to `Buffer-menu-mode' for -manipulating buffer list and buffers itself. +manipulating the buffer list and the buffers themselves. User can move with [up] or [down], select a buffer by \\[bs-select] or [SPC]\n Type \\[bs-kill] to leave Buffer Selection Menu without a selection. diff --git a/lisp/buff-menu.el b/lisp/buff-menu.el index a6e24b5343e..9482139339f 100644 --- a/lisp/buff-menu.el +++ b/lisp/buff-menu.el @@ -1,7 +1,7 @@ ;;; buff-menu.el --- buffer menu main function and support functions -*- coding:utf-8 -*- ;; Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 2000, 2001, 2002, 2003, -;; 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: convenience @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/button.el b/lisp/button.el index ebc078f8193..c6389c7c3c9 100644 --- a/lisp/button.el +++ b/lisp/button.el @@ -1,7 +1,7 @@ ;;; button.el --- clickable buttons ;; ;; Copyright (C) 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; ;; Author: Miles Bader ;; Keywords: extensions @@ -10,7 +10,7 @@ ;; ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/README b/lisp/calc/README index 5dfaf57403c..5d250387a00 100644 --- a/lisp/calc/README +++ b/lisp/calc/README @@ -1,4 +1,4 @@ -Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. See the end of the file for license conditions. @@ -7,7 +7,7 @@ This directory contains Calc, an advanced desk calculator for GNU Emacs. "Calc" Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Written by: Dave Gillespie @@ -233,7 +233,7 @@ This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-aent.el b/lisp/calc/calc-aent.el index 4b954fabd0c..af57453816a 100644 --- a/lisp/calc/calc-aent.el +++ b/lisp/calc/calc-aent.el @@ -1,7 +1,7 @@ ;;; calc-aent.el --- algebraic entry functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Dave Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-alg.el b/lisp/calc/calc-alg.el index 70900b9e5c3..3e64e205ccd 100644 --- a/lisp/calc/calc-alg.el +++ b/lisp/calc/calc-alg.el @@ -1,7 +1,7 @@ ;;; calc-alg.el --- algebraic functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-arith.el b/lisp/calc/calc-arith.el index 1b291cbb84e..48b2022a1c0 100644 --- a/lisp/calc/calc-arith.el +++ b/lisp/calc/calc-arith.el @@ -1,7 +1,7 @@ ;;; calc-arith.el --- arithmetic functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-bin.el b/lisp/calc/calc-bin.el index 3963700a599..bf40ca6ef47 100644 --- a/lisp/calc/calc-bin.el +++ b/lisp/calc/calc-bin.el @@ -1,7 +1,7 @@ ;;; calc-bin.el --- binary functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-comb.el b/lisp/calc/calc-comb.el index 6c30177a0b0..9aefc7405ce 100644 --- a/lisp/calc/calc-comb.el +++ b/lisp/calc/calc-comb.el @@ -1,7 +1,7 @@ ;;; calc-comb.el --- combinatoric functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-cplx.el b/lisp/calc/calc-cplx.el index 0879e308a86..83083cc8931 100644 --- a/lisp/calc/calc-cplx.el +++ b/lisp/calc/calc-cplx.el @@ -1,7 +1,7 @@ ;;; calc-cplx.el --- Complex number functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-embed.el b/lisp/calc/calc-embed.el index a064905943f..dc3221b5047 100644 --- a/lisp/calc/calc-embed.el +++ b/lisp/calc/calc-embed.el @@ -1,7 +1,7 @@ ;;; calc-embed.el --- embed Calc in a buffer ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-ext.el b/lisp/calc/calc-ext.el index ca89928d46e..8c52305a46b 100644 --- a/lisp/calc/calc-ext.el +++ b/lisp/calc/calc-ext.el @@ -1,7 +1,7 @@ ;;; calc-ext.el --- various extension functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-fin.el b/lisp/calc/calc-fin.el index 443ab99a8fe..b80a731c0c2 100644 --- a/lisp/calc/calc-fin.el +++ b/lisp/calc/calc-fin.el @@ -1,7 +1,7 @@ ;;; calc-fin.el --- financial functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-forms.el b/lisp/calc/calc-forms.el index 10bbf7dc3dd..cc0bfde8ffe 100644 --- a/lisp/calc/calc-forms.el +++ b/lisp/calc/calc-forms.el @@ -1,7 +1,7 @@ ;;; calc-forms.el --- data format conversion functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-frac.el b/lisp/calc/calc-frac.el index 2fa3bce8508..7929875a8b6 100644 --- a/lisp/calc/calc-frac.el +++ b/lisp/calc/calc-frac.el @@ -1,7 +1,7 @@ ;;; calc-frac.el --- fraction functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-funcs.el b/lisp/calc/calc-funcs.el index 479116b0c76..162692b742c 100644 --- a/lisp/calc/calc-funcs.el +++ b/lisp/calc/calc-funcs.el @@ -1,7 +1,7 @@ ;;; calc-funcs.el --- well-known functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-graph.el b/lisp/calc/calc-graph.el index e5ffd2263fa..6d9f7061c05 100644 --- a/lisp/calc/calc-graph.el +++ b/lisp/calc/calc-graph.el @@ -1,7 +1,7 @@ ;;; calc-graph.el --- graph output functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-help.el b/lisp/calc/calc-help.el index 9f324a67785..46cf2ce8dbb 100644 --- a/lisp/calc/calc-help.el +++ b/lisp/calc/calc-help.el @@ -1,7 +1,7 @@ ;;; calc-help.el --- help display functions for Calc, ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -414,7 +414,7 @@ C-w Describe how there is no warranty for Calc." (princ (format "GNU Emacs Calculator version %s.\n" calc-version)) (princ " By Dave Gillespie.\n") - (princ " Copyright (C) 2007 Free Software Foundation, Inc.\n\n") + (princ (format " %s\n\n" emacs-copyright)) (princ "Type `h s' for a more detailed summary.\n") (princ "Or type `h i' to read the full Calc manual on-line.\n\n") (princ "Basic keys:\n") diff --git a/lisp/calc/calc-incom.el b/lisp/calc/calc-incom.el index ee20476938e..a5f73ff219e 100644 --- a/lisp/calc/calc-incom.el +++ b/lisp/calc/calc-incom.el @@ -1,7 +1,7 @@ ;;; calc-incom.el --- complex data type input functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-keypd.el b/lisp/calc/calc-keypd.el index 1f71c648ef3..55795f41c68 100644 --- a/lisp/calc/calc-keypd.el +++ b/lisp/calc/calc-keypd.el @@ -1,7 +1,7 @@ ;;; calc-keypd.el --- mouse-capable keypad input for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-lang.el b/lisp/calc/calc-lang.el index 79c33b473c3..7ea2fe4c49a 100644 --- a/lisp/calc/calc-lang.el +++ b/lisp/calc/calc-lang.el @@ -1,7 +1,7 @@ ;;; calc-lang.el --- calc language functions ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-macs.el b/lisp/calc/calc-macs.el index 68b42876e94..4825ef4ab4a 100644 --- a/lisp/calc/calc-macs.el +++ b/lisp/calc/calc-macs.el @@ -1,7 +1,7 @@ ;;; calc-macs.el --- important macros for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-map.el b/lisp/calc/calc-map.el index b9eb0019ab7..64c66e18c47 100644 --- a/lisp/calc/calc-map.el +++ b/lisp/calc/calc-map.el @@ -1,7 +1,7 @@ ;;; calc-map.el --- higher-order functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-math.el b/lisp/calc/calc-math.el index b6481d30b73..07432a39881 100644 --- a/lisp/calc/calc-math.el +++ b/lisp/calc/calc-math.el @@ -1,7 +1,7 @@ ;;; calc-math.el --- mathematical functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-misc.el b/lisp/calc/calc-misc.el index e9674ff938b..ecbc4c57190 100644 --- a/lisp/calc/calc-misc.el +++ b/lisp/calc/calc-misc.el @@ -1,7 +1,7 @@ ;;; calc-misc.el --- miscellaneous functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004 -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-mode.el b/lisp/calc/calc-mode.el index 7240009a8e8..e315a7d475b 100644 --- a/lisp/calc/calc-mode.el +++ b/lisp/calc/calc-mode.el @@ -1,7 +1,7 @@ ;;; calc-mode.el --- calculator modes for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-mtx.el b/lisp/calc/calc-mtx.el index 0ab90a4a51d..dd8ad0c8164 100644 --- a/lisp/calc/calc-mtx.el +++ b/lisp/calc/calc-mtx.el @@ -1,7 +1,7 @@ ;;; calc-mtx.el --- matrix functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-poly.el b/lisp/calc/calc-poly.el index 0bcf78af861..29396a57dc1 100644 --- a/lisp/calc/calc-poly.el +++ b/lisp/calc/calc-poly.el @@ -1,7 +1,7 @@ ;;; calc-poly.el --- polynomial functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-prog.el b/lisp/calc/calc-prog.el index 4dff6f04013..e5642002be0 100644 --- a/lisp/calc/calc-prog.el +++ b/lisp/calc/calc-prog.el @@ -1,7 +1,7 @@ ;;; calc-prog.el --- user programmability functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-rewr.el b/lisp/calc/calc-rewr.el index bf9ac13c6cf..2059547496d 100644 --- a/lisp/calc/calc-rewr.el +++ b/lisp/calc/calc-rewr.el @@ -1,7 +1,7 @@ ;;; calc-rewr.el --- rewriting functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-rules.el b/lisp/calc/calc-rules.el index 09f71014a0d..0ff90ad50a4 100644 --- a/lisp/calc/calc-rules.el +++ b/lisp/calc/calc-rules.el @@ -1,7 +1,7 @@ ;;; calc-rules.el --- rules for simplifying algebraic expressions in Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-sel.el b/lisp/calc/calc-sel.el index fe67127d649..3d720bcd23e 100644 --- a/lisp/calc/calc-sel.el +++ b/lisp/calc/calc-sel.el @@ -1,7 +1,7 @@ ;;; calc-sel.el --- data selection functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-stat.el b/lisp/calc/calc-stat.el index 967d45e7ba8..cd472d8d862 100644 --- a/lisp/calc/calc-stat.el +++ b/lisp/calc/calc-stat.el @@ -1,7 +1,7 @@ ;;; calc-stat.el --- statistical functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-store.el b/lisp/calc/calc-store.el index 8fa77563211..6191a0f2e05 100644 --- a/lisp/calc/calc-store.el +++ b/lisp/calc/calc-store.el @@ -1,7 +1,7 @@ ;;; calc-store.el --- value storage functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-stuff.el b/lisp/calc/calc-stuff.el index 89cf044c097..10002dcb4e5 100644 --- a/lisp/calc/calc-stuff.el +++ b/lisp/calc/calc-stuff.el @@ -1,7 +1,7 @@ ;;; calc-stuff.el --- miscellaneous functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-trail.el b/lisp/calc/calc-trail.el index ba18a633c43..4949f6ff2b9 100644 --- a/lisp/calc/calc-trail.el +++ b/lisp/calc/calc-trail.el @@ -1,7 +1,7 @@ ;;; calc-trail.el --- functions for manipulating the Calc "trail" ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-undo.el b/lisp/calc/calc-undo.el index 9df08597956..b535dbd7fb9 100644 --- a/lisp/calc/calc-undo.el +++ b/lisp/calc/calc-undo.el @@ -1,7 +1,7 @@ ;;; calc-undo.el --- undo functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-units.el b/lisp/calc/calc-units.el index 81062b356fa..f648a37cb7f 100644 --- a/lisp/calc/calc-units.el +++ b/lisp/calc/calc-units.el @@ -1,7 +1,7 @@ ;;; calc-units.el --- unit conversion functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-vec.el b/lisp/calc/calc-vec.el index e85d1259b5f..e0f2a86bf29 100644 --- a/lisp/calc/calc-vec.el +++ b/lisp/calc/calc-vec.el @@ -1,7 +1,7 @@ ;;; calc-vec.el --- vector functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc-yank.el b/lisp/calc/calc-yank.el index abd78e5f926..89a9f1339b0 100644 --- a/lisp/calc/calc-yank.el +++ b/lisp/calc/calc-yank.el @@ -1,7 +1,7 @@ ;;; calc-yank.el --- kill-ring functionality for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el index 4ca5662afdc..ad514707018 100644 --- a/lisp/calc/calc.el +++ b/lisp/calc/calc.el @@ -1,7 +1,7 @@ ;;; calc.el --- the GNU Emacs calculator ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calcalg2.el b/lisp/calc/calcalg2.el index 8b1d4a2c9b3..b836a7d0cf0 100644 --- a/lisp/calc/calcalg2.el +++ b/lisp/calc/calcalg2.el @@ -1,7 +1,7 @@ ;;; calcalg2.el --- more algebraic functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calcalg3.el b/lisp/calc/calcalg3.el index 5864091614a..a7b70643b63 100644 --- a/lisp/calc/calcalg3.el +++ b/lisp/calc/calcalg3.el @@ -1,7 +1,7 @@ ;;; calcalg3.el --- more algebraic functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calccomp.el b/lisp/calc/calccomp.el index 7b385261735..90e431a61e7 100644 --- a/lisp/calc/calccomp.el +++ b/lisp/calc/calccomp.el @@ -1,7 +1,7 @@ ;;; calccomp.el --- composition functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calc/calcsel2.el b/lisp/calc/calcsel2.el index afc3bb45a1e..40b5ce1ae2a 100644 --- a/lisp/calc/calcsel2.el +++ b/lisp/calc/calcsel2.el @@ -1,7 +1,7 @@ ;;; calcsel2.el --- selection functions for Calc ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainer: Jay Belanger @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calculator.el b/lisp/calculator.el index 53a3c96d948..2feea1bba37 100644 --- a/lisp/calculator.el +++ b/lisp/calculator.el @@ -1,7 +1,7 @@ ;;; calculator.el --- a [not so] simple calculator for Emacs ;; Copyright (C) 1998, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Eli Barzilay ;; Keywords: tools, convenience @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify it ;; under the terms of the GNU General Public License as published by the -;; Free Software Foundation; either version 2, or (at your option) any +;; Free Software Foundation; either version 3, or (at your option) any ;; later version. ;; GNU Emacs is distributed in the hope that it will be useful, but diff --git a/lisp/calendar/appt.el b/lisp/calendar/appt.el index 02865c994e3..0b8c51a8fe5 100644 --- a/lisp/calendar/appt.el +++ b/lisp/calendar/appt.el @@ -1,7 +1,7 @@ ;;; appt.el --- appointment notification functions ;; Copyright (C) 1989, 1990, 1994, 1998, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Neil Mager ;; Maintainer: Glenn Morris @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calendar/cal-bahai.el b/lisp/calendar/cal-bahai.el index 06703e3b73b..9e1c411afe2 100644 --- a/lisp/calendar/cal-bahai.el +++ b/lisp/calendar/cal-bahai.el @@ -1,6 +1,6 @@ ;;; cal-bahai.el --- calendar functions for the Baha'i calendar. -;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Author: John Wiegley @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calendar/cal-china.el b/lisp/calendar/cal-china.el index 7f6646dda64..e1c6d2b9b8a 100644 --- a/lisp/calendar/cal-china.el +++ b/lisp/calendar/cal-china.el @@ -1,6 +1,6 @@ ;;; cal-china.el --- calendar functions for the Chinese calendar -;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Author: Edward M. Reingold @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calendar/cal-coptic.el b/lisp/calendar/cal-coptic.el index b5cf96949c6..3649c936eb4 100644 --- a/lisp/calendar/cal-coptic.el +++ b/lisp/calendar/cal-coptic.el @@ -1,6 +1,6 @@ ;;; cal-coptic.el --- calendar functions for the Coptic/Ethiopic calendars -;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Author: Edward M. Reingold @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calendar/cal-dst.el b/lisp/calendar/cal-dst.el index 6159d7e9dc1..4f442c075f0 100644 --- a/lisp/calendar/cal-dst.el +++ b/lisp/calendar/cal-dst.el @@ -1,7 +1,7 @@ ;;; cal-dst.el --- calendar functions for daylight saving rules ;; Copyright (C) 1993, 1994, 1995, 1996, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Paul Eggert ;; Edward M. Reingold @@ -13,7 +13,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calendar/cal-french.el b/lisp/calendar/cal-french.el index 439dbd34632..b08f0b4ab24 100644 --- a/lisp/calendar/cal-french.el +++ b/lisp/calendar/cal-french.el @@ -1,7 +1,7 @@ ;;; cal-french.el --- calendar functions for the French Revolutionary calendar ;; Copyright (C) 1988, 1989, 1992, 1994, 1995, 1997, 2001, 2002, 2003, -;; 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Edward M. Reingold ;; Maintainer: Glenn Morris @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calendar/cal-hebrew.el b/lisp/calendar/cal-hebrew.el index 9f32d9df471..78cce12ecc3 100644 --- a/lisp/calendar/cal-hebrew.el +++ b/lisp/calendar/cal-hebrew.el @@ -1,6 +1,6 @@ ;;; cal-hebrew.el --- calendar functions for the Hebrew calendar -;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Author: Nachum Dershowitz @@ -13,7 +13,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calendar/cal-html.el b/lisp/calendar/cal-html.el index 110a612db66..9be16bd82d9 100644 --- a/lisp/calendar/cal-html.el +++ b/lisp/calendar/cal-html.el @@ -1,6 +1,6 @@ ;;; cal-html.el --- functions for printing HTML calendars -;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Anna M. Bigatti ;; Keywords: calendar @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calendar/cal-islam.el b/lisp/calendar/cal-islam.el index 57c0f9de65e..522704075eb 100644 --- a/lisp/calendar/cal-islam.el +++ b/lisp/calendar/cal-islam.el @@ -1,6 +1,6 @@ ;;; cal-islam.el --- calendar functions for the Islamic calendar -;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Author: Edward M. Reingold @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calendar/cal-iso.el b/lisp/calendar/cal-iso.el index 052087e2558..7e2e91904e7 100644 --- a/lisp/calendar/cal-iso.el +++ b/lisp/calendar/cal-iso.el @@ -1,6 +1,6 @@ ;;; cal-iso.el --- calendar functions for the ISO calendar -;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Author: Edward M. Reingold @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calendar/cal-julian.el b/lisp/calendar/cal-julian.el index ff6a3f72e1b..ef7ad67272b 100644 --- a/lisp/calendar/cal-julian.el +++ b/lisp/calendar/cal-julian.el @@ -1,6 +1,6 @@ ;;; cal-julian.el --- calendar functions for the Julian calendar -;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Author: Edward M. Reingold @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calendar/cal-mayan.el b/lisp/calendar/cal-mayan.el index 2cb6d31022e..8f20f359a15 100644 --- a/lisp/calendar/cal-mayan.el +++ b/lisp/calendar/cal-mayan.el @@ -1,7 +1,7 @@ ;;; cal-mayan.el --- calendar functions for the Mayan calendars ;; Copyright (C) 1992, 1993, 1995, 1997, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Stewart M. Clamen ;; Edward M. Reingold @@ -13,7 +13,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calendar/cal-menu.el b/lisp/calendar/cal-menu.el index 25929976dbd..cdf209a987a 100644 --- a/lisp/calendar/cal-menu.el +++ b/lisp/calendar/cal-menu.el @@ -1,6 +1,6 @@ ;;; cal-menu.el --- calendar functions for menu bar and popup menu support -;; Copyright (C) 1994, 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1994, 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Author: Edward M. Reingold @@ -13,7 +13,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calendar/cal-move.el b/lisp/calendar/cal-move.el index 3a08b98bf00..8361fa6beb3 100644 --- a/lisp/calendar/cal-move.el +++ b/lisp/calendar/cal-move.el @@ -1,6 +1,6 @@ ;;; cal-move.el --- calendar functions for movement in the calendar -;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Author: Edward M. Reingold @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calendar/cal-persia.el b/lisp/calendar/cal-persia.el index a37f9c1f27e..2c28d5c8efc 100644 --- a/lisp/calendar/cal-persia.el +++ b/lisp/calendar/cal-persia.el @@ -1,6 +1,6 @@ ;;; cal-persia.el --- calendar functions for the Persian calendar -;; Copyright (C) 1996, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1996, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Author: Edward M. Reingold @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calendar/cal-tex.el b/lisp/calendar/cal-tex.el index e229f02002f..a77eaafcf9e 100644 --- a/lisp/calendar/cal-tex.el +++ b/lisp/calendar/cal-tex.el @@ -1,6 +1,6 @@ ;;; cal-tex.el --- calendar functions for printing calendars with LaTeX -;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Author: Steve Fisk @@ -13,7 +13,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -65,18 +65,21 @@ to only print Monday, Wednesday, Friday." :group 'calendar-tex) (defcustom cal-tex-holidays t - "*If t (default), then the holidays are also printed. + "Non-nil means holidays are printed in the LaTeX calendars that support it. If finding the holidays is too slow, set this to nil." :type 'boolean :group 'calendar-tex) (defcustom cal-tex-diary nil - "*If t, the diary entries are printed in the calendar." + "Non-nil means diary entries are printed in LaTeX calendars that support it. +At present, this only affects the monthly, filofax, and iso-week +calendars (i.e. not the yearly, plain weekly, or daily calendars)." :type 'boolean :group 'calendar-tex) (defcustom cal-tex-rules nil - "*If t, pages will be ruled in some styles." + "Non-nil means pages will be ruled in some LaTeX calendar styles. +At present, this only affects the daily filofax calendar." :type 'boolean :group 'calendar-tex) @@ -102,12 +105,12 @@ will put the Hebrew date at the bottom of each day." :group 'calendar-tex) (defcustom cal-tex-buffer "calendar.tex" - "*The name for the tex-ed calendar." + "The name for the output LaTeX calendar buffer." :type 'string :group 'calendar-tex) (defcustom cal-tex-24 nil - "*If t, use a 24 hour clock in the daily calendar." + "Non-nil means use a 24 hour clock in the daily calendar." :type 'boolean :group 'calendar-tex) @@ -162,7 +165,7 @@ characters with diacritical marks to their LaTeX equivalents, use ;;; Definitions for LaTeX code ;;; -(defvar cal-tex-day-prefix "\\caldate{%s}{%s}" +(defvar cal-tex-day-prefix "\\caldate{%s}{%s}" "The initial LaTeX code for a day. The holidays, diary entries, bottom string, and the text follow.") @@ -316,30 +319,30 @@ four months each." (cal-tex-vspace "-.6cm") (cal-tex-vspace "-3.1cm")) (calendar-for-loop j from 1 to n do - (insert "\\vfill%\n") - (cal-tex-b-center) - (cal-tex-Huge (number-to-string year)) - (cal-tex-e-center) - (cal-tex-vspace "1cm") - (cal-tex-b-center) - (cal-tex-b-parbox "l" (if landscape "5.9in" "4.3in")) - (insert "\n") - (cal-tex-noindent) - (cal-tex-nl) - (calendar-for-loop i from 1 to 12 do + (insert "\\vfill%\n") + (cal-tex-b-center) + (cal-tex-Huge (number-to-string year)) + (cal-tex-e-center) + (cal-tex-vspace "1cm") + (cal-tex-b-center) + (cal-tex-b-parbox "l" (if landscape "5.9in" "4.3in")) + (insert "\n") + (cal-tex-noindent) + (cal-tex-nl) + (calendar-for-loop i from 1 to 12 do (insert (cal-tex-mini-calendar i year "month" "1.1in" "1in")) (insert "\\month") (cal-tex-hspace "0.5in") (if (zerop (mod i (if landscape 4 3))) (cal-tex-nl "0.5in"))) - (cal-tex-e-parbox) - (cal-tex-e-center) - (insert "\\vfill%\n") - (setq year (1+ year)) - (if (/= j n) - (cal-tex-newpage) - (cal-tex-end-document)) - (run-hooks 'cal-tex-year-hook)) + (cal-tex-e-parbox) + (cal-tex-e-center) + (insert "\\vfill%\n") + (setq year (1+ year)) + (if (/= j n) + (cal-tex-newpage) + (cal-tex-end-document)) + (run-hooks 'cal-tex-year-hook)) (run-hooks 'cal-tex-hook)) (defun cal-tex-cursor-filofax-year (&optional arg) @@ -360,35 +363,35 @@ Optional parameter specifies number of years." (cal-tex-b-document) (cal-tex-cmd "\\vspace*{0.25in}") (calendar-for-loop j from 1 to n do - (insert (format "\\hfil {\\Large \\bf %s} \\hfil\\\\\n" year)) - (cal-tex-b-center) - (cal-tex-b-parbox "l" "\\textwidth") - (insert "\n") - (cal-tex-noindent) - (cal-tex-nl) - (let ((month-names; don't use default in case user changed it - ;; These are only used to define the command names, not - ;; the names of the months they insert. - ["January" "February" "March" "April" "May" "June" - "July" "August" "September" "October" "November" "December"])) - (calendar-for-loop i from 1 to 12 do - (insert (cal-tex-mini-calendar i year - (aref month-names (1- i)) - "1in" ".9in" "tiny" "0.6mm")))) - (insert -"\\noindent\\fbox{\\January}\\fbox{\\February}\\fbox{\\March}\\\\ + (insert (format "\\hfil {\\Large \\bf %s} \\hfil\\\\\n" year)) + (cal-tex-b-center) + (cal-tex-b-parbox "l" "\\textwidth") + (insert "\n") + (cal-tex-noindent) + (cal-tex-nl) + (let ((month-names; don't use default in case user changed it + ;; These are only used to define the command names, not + ;; the names of the months they insert. + ["January" "February" "March" "April" "May" "June" + "July" "August" "September" "October" "November" "December"])) + (calendar-for-loop i from 1 to 12 do + (insert (cal-tex-mini-calendar i year + (aref month-names (1- i)) + "1in" ".9in" "tiny" "0.6mm")))) + (insert + "\\noindent\\fbox{\\January}\\fbox{\\February}\\fbox{\\March}\\\\ \\noindent\\fbox{\\April}\\fbox{\\May}\\fbox{\\June}\\\\ \\noindent\\fbox{\\July}\\fbox{\\August}\\fbox{\\September}\\\\ \\noindent\\fbox{\\October}\\fbox{\\November}\\fbox{\\December} ") - (cal-tex-e-parbox) - (cal-tex-e-center) - (setq year (1+ year)) - (if (= j n) - (cal-tex-end-document) - (cal-tex-newpage) - (cal-tex-cmd "\\vspace*{0.25in}")) - (run-hooks 'cal-tex-year-hook)) + (cal-tex-e-parbox) + (cal-tex-e-center) + (setq year (1+ year)) + (if (= j n) + (cal-tex-end-document) + (cal-tex-newpage) + (cal-tex-cmd "\\vspace*{0.25in}")) + (run-hooks 'cal-tex-year-hook)) (run-hooks 'cal-tex-hook))) ;;; @@ -396,9 +399,12 @@ Optional parameter specifies number of years." ;;; (defun cal-tex-cursor-month-landscape (&optional arg) - "Make a buffer with LaTeX commands for the month cursor is on. -Optional prefix argument specifies number of months to be produced. -The output is in landscape format, one month to a page." + "Make a LaTeX calendar buffer for the month the cursor is on. +Optional prefix argument specifies number of months to be +produced (default 1). The output is in landscape format, one +month to a page. It shows holiday and diary entries if +`cal-tex-holidays' and `cal-tex-diary', respectively, are +non-nil." (interactive "p") (let* ((n (if arg arg 1)) (date (calendar-cursor-to-date t)) @@ -431,52 +437,54 @@ The output is in landscape format, one month to a page." (cal-tex-insert-preamble (cal-tex-number-weeks month year 1) t "12pt") (cal-tex-cmd cal-tex-cal-one-month) (calendar-for-loop i from 1 to n do - (setq other-month month) - (setq other-year year) - (increment-calendar-month other-month other-year -1) - (insert (cal-tex-mini-calendar other-month other-year "lastmonth" - "\\cellwidth" "\\cellheight")) - (increment-calendar-month other-month other-year 2) - (insert (cal-tex-mini-calendar other-month other-year "nextmonth" - "\\cellwidth" "\\cellheight")) - (cal-tex-insert-month-header 1 month year month year) - (cal-tex-insert-day-names) - (cal-tex-nl ".2cm") - (setq small-months-at-start - (< 1 (mod (- (calendar-day-of-week (list month 1 year)) - calendar-week-start-day) - 7))) - (if small-months-at-start - (insert "\\lastmonth\\nextmonth\\hspace*{-2\\cellwidth}")) - (cal-tex-insert-blank-days month year cal-tex-day-prefix) - (cal-tex-insert-days month year diary-list holidays - cal-tex-day-prefix) - (cal-tex-insert-blank-days-at-end month year cal-tex-day-prefix) - (if (and (not small-months-at-start) - (< 1 (mod (- (1- calendar-week-start-day) - (calendar-day-of-week - (list month - (calendar-last-day-of-month month year) - year))) - 7))) - (insert "\\vspace*{-\\cellwidth}\\hspace*{-2\\cellwidth}" - "\\lastmonth\\nextmonth% + (setq other-month month) + (setq other-year year) + (increment-calendar-month other-month other-year -1) + (insert (cal-tex-mini-calendar other-month other-year "lastmonth" + "\\cellwidth" "\\cellheight")) + (increment-calendar-month other-month other-year 2) + (insert (cal-tex-mini-calendar other-month other-year "nextmonth" + "\\cellwidth" "\\cellheight")) + (cal-tex-insert-month-header 1 month year month year) + (cal-tex-insert-day-names) + (cal-tex-nl ".2cm") + (setq small-months-at-start + (< 1 (mod (- (calendar-day-of-week (list month 1 year)) + calendar-week-start-day) + 7))) + (if small-months-at-start + (insert "\\lastmonth\\nextmonth\\hspace*{-2\\cellwidth}")) + (cal-tex-insert-blank-days month year cal-tex-day-prefix) + (cal-tex-insert-days month year diary-list holidays + cal-tex-day-prefix) + (cal-tex-insert-blank-days-at-end month year cal-tex-day-prefix) + (if (and (not small-months-at-start) + (< 1 (mod (- (1- calendar-week-start-day) + (calendar-day-of-week + (list month + (calendar-last-day-of-month month year) + year))) + 7))) + (insert "\\vspace*{-\\cellwidth}\\hspace*{-2\\cellwidth}" + "\\lastmonth\\nextmonth% ")) - (if (/= i n) - (progn - (run-hooks 'cal-tex-month-hook) - (cal-tex-newpage) - (increment-calendar-month month year 1) - (cal-tex-vspace "-2cm") - (cal-tex-insert-preamble - (cal-tex-number-weeks month year 1) t "12pt" t)))) + (if (/= i n) + (progn + (run-hooks 'cal-tex-month-hook) + (cal-tex-newpage) + (increment-calendar-month month year 1) + (cal-tex-vspace "-2cm") + (cal-tex-insert-preamble + (cal-tex-number-weeks month year 1) t "12pt" t)))) (cal-tex-end-document) (run-hooks 'cal-tex-hook)))) (defun cal-tex-cursor-month (arg) - "Make a buffer with LaTeX commands for the month cursor is on. -Optional prefix argument specifies number of months to be produced. -Calendar is condensed onto one page." + "Make a LaTeX calendar buffer for the month the cursor is on. +Optional prefix argument specifies number of months to be +produced (default 1). The calendar is condensed onto one page. +It shows holiday and diary entries if `cal-tex-holidays' and +`cal-tex-diary', respectively, are non-nil." (interactive "p") (let* ((date (calendar-cursor-to-date t)) (month (extract-calendar-month date)) @@ -513,20 +521,20 @@ Calendar is condensed onto one page." (cal-tex-nl ".2cm") (cal-tex-insert-blank-days month year cal-tex-day-prefix) (calendar-for-loop i from 1 to n do - (setq other-month month) - (setq other-year year) - (cal-tex-insert-days month year diary-list holidays - cal-tex-day-prefix) - (if (= (mod (calendar-absolute-from-gregorian - (list month - (calendar-last-day-of-month month year) - year)) - 7) - 6); last day of month was Saturday - (progn - (cal-tex-hfill) - (cal-tex-nl))) - (increment-calendar-month month year 1)) + (setq other-month month) + (setq other-year year) + (cal-tex-insert-days month year diary-list holidays + cal-tex-day-prefix) + (if (= (mod (calendar-absolute-from-gregorian + (list month + (calendar-last-day-of-month month year) + year)) + 7) + 6); last day of month was Saturday + (progn + (cal-tex-hfill) + (cal-tex-nl))) + (increment-calendar-month month year 1)) (cal-tex-insert-blank-days-at-end end-month end-year cal-tex-day-prefix) (cal-tex-end-document))) (run-hooks 'cal-tex-hook)) @@ -534,8 +542,8 @@ Calendar is condensed onto one page." (defun cal-tex-insert-days (month year diary-list holidays day-format) "Insert LaTeX commands for a range of days in monthly calendars. LaTeX commands are inserted for the days of the MONTH in YEAR. -Diary entries on DIARY-LIST are included. Holidays on HOLIDAYS are included. -Each day is formatted using format DAY-FORMAT." +Diary entries on DIARY-LIST are included. Holidays on HOLIDAYS +are included. Each day is formatted using format DAY-FORMAT." (let* ((blank-days;; at start of month (mod (- (calendar-day-of-week (list month 1 year)) @@ -562,12 +570,12 @@ Each day is formatted using format DAY-FORMAT." (defun cal-tex-insert-day-names () "Insert the names of the days at top of a monthly calendar." (calendar-for-loop i from 0 to 6 do - (if (memq i cal-tex-which-days) - (insert (format cal-tex-day-name-format - (cal-tex-LaTeXify-string - (aref calendar-day-name-array - (mod (+ calendar-week-start-day i) 7)))))) - (cal-tex-comment))) + (if (memq i cal-tex-which-days) + (insert (format cal-tex-day-name-format + (cal-tex-LaTeXify-string + (aref calendar-day-name-array + (mod (+ calendar-week-start-day i) 7)))))) + (cal-tex-comment))) (defun cal-tex-insert-month-header (n month year end-month end-year) "Create a title for a calendar. @@ -594,8 +602,8 @@ blank, no days are inserted." calendar-week-start-day) 7))) (calendar-for-loop i from 0 to (1- blank-days) do - (if (memq i cal-tex-which-days) - (insert (format day-format " " " ") "{}{}{}{}%\n")))))) + (if (memq i cal-tex-which-days) + (insert (format day-format " " " ") "{}{}{}{}%\n")))))) (defun cal-tex-insert-blank-days-at-end (month year day-format) "Insert code for final days not in calendar. @@ -668,11 +676,13 @@ this is only an upper bound." {\\makebox[2em]{\\rule{0cm}{#2ex}#1}\\rule{3in}{.15mm}}\n" "One hour and a line on the right.") +;; TODO cal-tex-diary-support. (defun cal-tex-cursor-week (&optional arg) - "Make a buffer with LaTeX commands for a two-page one-week calendar. -It applies to the week that point is in. -Optional prefix argument specifies number of weeks. -Holidays are included if `cal-tex-holidays' is t." + "Make a LaTeX calendar buffer for a two-page one-week calendar. +It applies to the week that point is in. The optional prefix +argument specifies the number of weeks (default 1). The calendar +shows holidays if `cal-tex-holidays' is t (note that diary +entries are not shown)." (interactive "p") (let* ((n (if arg arg 1)) (date (calendar-gregorian-from-absolute @@ -696,34 +706,36 @@ Holidays are included if `cal-tex-holidays' is t." (cal-tex-b-document) (cal-tex-cmd "\\pagestyle{empty}") (calendar-for-loop i from 1 to n do - (cal-tex-vspace "-1.5in") - (cal-tex-b-center) - (cal-tex-Huge-bf (format "\\uppercase{%s}" - (cal-tex-month-name month))) - (cal-tex-hspace "2em") - (cal-tex-Huge-bf (number-to-string year)) - (cal-tex-nl ".5cm") - (cal-tex-e-center) - (cal-tex-hspace "-.2in") - (cal-tex-b-parbox "l" "7in") - (calendar-for-loop j from 1 to 7 do - (cal-tex-week-hours date holidays "3.1") - (setq date (cal-tex-incr-date date))) - (cal-tex-e-parbox) - (setq month (extract-calendar-month date)) - (setq year (extract-calendar-year date)) - (if (/= i n) - (progn - (run-hooks 'cal-tex-week-hook) - (cal-tex-newpage)))) + (cal-tex-vspace "-1.5in") + (cal-tex-b-center) + (cal-tex-Huge-bf (format "\\uppercase{%s}" + (cal-tex-month-name month))) + (cal-tex-hspace "2em") + (cal-tex-Huge-bf (number-to-string year)) + (cal-tex-nl ".5cm") + (cal-tex-e-center) + (cal-tex-hspace "-.2in") + (cal-tex-b-parbox "l" "7in") + (calendar-for-loop j from 1 to 7 do + (cal-tex-week-hours date holidays "3.1") + (setq date (cal-tex-incr-date date))) + (cal-tex-e-parbox) + (setq month (extract-calendar-month date)) + (setq year (extract-calendar-year date)) + (if (/= i n) + (progn + (run-hooks 'cal-tex-week-hook) + (cal-tex-newpage)))) (cal-tex-end-document) (run-hooks 'cal-tex-hook))) +;; TODO cal-tex-diary support. (defun cal-tex-cursor-week2 (&optional arg) - "Make a buffer with LaTeX commands for a two-page one-week calendar. -It applies to the week that point is in. -Optional prefix argument specifies number of weeks. -Holidays are included if `cal-tex-holidays' is t." + "Make a LaTeX calendar buffer for a two-page one-week calendar. +It applies to the week that point is in. Optional prefix +argument specifies number of weeks (default 1). The calendar +shows holidays if `cal-tex-holidays' is non-nil (note that diary +entries are not shown)." (interactive "p") (let* ((n (if arg arg 1)) (date (calendar-gregorian-from-absolute @@ -748,62 +760,62 @@ Holidays are included if `cal-tex-holidays' is t." (cal-tex-b-document) (cal-tex-cmd "\\pagestyle{empty}") (calendar-for-loop i from 1 to n do - (cal-tex-vspace "-1.5in") - (cal-tex-b-center) - (cal-tex-Huge-bf (format "\\uppercase{%s}" - (cal-tex-month-name month))) - (cal-tex-hspace "2em") - (cal-tex-Huge-bf (number-to-string year)) - (cal-tex-nl ".5cm") - (cal-tex-e-center) - (cal-tex-hspace "-.2in") - (cal-tex-b-parbox "l" "\\textwidth") - (calendar-for-loop j from 1 to 3 do - (cal-tex-week-hours date holidays "5") - (setq date (cal-tex-incr-date date))) - (cal-tex-e-parbox) - (cal-tex-nl) - (insert (cal-tex-mini-calendar - (extract-calendar-month (cal-tex-previous-month date)) - (extract-calendar-year (cal-tex-previous-month date)) - "lastmonth" "1.1in" "1in")) - (insert (cal-tex-mini-calendar - (extract-calendar-month date) - (extract-calendar-year date) - "thismonth" "1.1in" "1in")) - (insert (cal-tex-mini-calendar - (extract-calendar-month (cal-tex-next-month date)) - (extract-calendar-year (cal-tex-next-month date)) - "nextmonth" "1.1in" "1in")) - (insert "\\hbox to \\textwidth{") - (cal-tex-hfill) - (insert "\\lastmonth") - (cal-tex-hfill) - (insert "\\thismonth") - (cal-tex-hfill) - (insert "\\nextmonth") - (cal-tex-hfill) - (insert "}") - (cal-tex-nl) - (cal-tex-b-parbox "l" "\\textwidth") - (calendar-for-loop j from 4 to 7 do - (cal-tex-week-hours date holidays "5") - (setq date (cal-tex-incr-date date))) - (cal-tex-e-parbox) - (setq month (extract-calendar-month date)) - (setq year (extract-calendar-year date)) - (if (/= i n) - (progn - (run-hooks 'cal-tex-week-hook) - (cal-tex-newpage)))) + (cal-tex-vspace "-1.5in") + (cal-tex-b-center) + (cal-tex-Huge-bf (format "\\uppercase{%s}" + (cal-tex-month-name month))) + (cal-tex-hspace "2em") + (cal-tex-Huge-bf (number-to-string year)) + (cal-tex-nl ".5cm") + (cal-tex-e-center) + (cal-tex-hspace "-.2in") + (cal-tex-b-parbox "l" "\\textwidth") + (calendar-for-loop j from 1 to 3 do + (cal-tex-week-hours date holidays "5") + (setq date (cal-tex-incr-date date))) + (cal-tex-e-parbox) + (cal-tex-nl) + (insert (cal-tex-mini-calendar + (extract-calendar-month (cal-tex-previous-month date)) + (extract-calendar-year (cal-tex-previous-month date)) + "lastmonth" "1.1in" "1in")) + (insert (cal-tex-mini-calendar + (extract-calendar-month date) + (extract-calendar-year date) + "thismonth" "1.1in" "1in")) + (insert (cal-tex-mini-calendar + (extract-calendar-month (cal-tex-next-month date)) + (extract-calendar-year (cal-tex-next-month date)) + "nextmonth" "1.1in" "1in")) + (insert "\\hbox to \\textwidth{") + (cal-tex-hfill) + (insert "\\lastmonth") + (cal-tex-hfill) + (insert "\\thismonth") + (cal-tex-hfill) + (insert "\\nextmonth") + (cal-tex-hfill) + (insert "}") + (cal-tex-nl) + (cal-tex-b-parbox "l" "\\textwidth") + (calendar-for-loop j from 4 to 7 do + (cal-tex-week-hours date holidays "5") + (setq date (cal-tex-incr-date date))) + (cal-tex-e-parbox) + (setq month (extract-calendar-month date)) + (setq year (extract-calendar-year date)) + (if (/= i n) + (progn + (run-hooks 'cal-tex-week-hook) + (cal-tex-newpage)))) (cal-tex-end-document) (run-hooks 'cal-tex-hook))) (defun cal-tex-cursor-week-iso (&optional arg) - "Make a buffer with LaTeX commands for a one page ISO-style weekly calendar. -Optional prefix argument specifies number of weeks. -Diary entries are included if `cal-tex-diary' is t. -Holidays are included if `cal-tex-holidays' is t." + "Make a LaTeX calendar buffer for a one page ISO-style weekly calendar. +Optional prefix argument specifies number of weeks (default 1). +The calendar shows holiday and diary entries if +`cal-tex-holidays' and `cal-tex-diary', respectively, are non-nil." (interactive "p") (let* ((n (if arg arg 1)) (date (calendar-gregorian-from-absolute @@ -833,64 +845,65 @@ Holidays are included if `cal-tex-holidays' is t." (cal-tex-b-document) (cal-tex-cmd "\\pagestyle{empty}") (calendar-for-loop i from 1 to n do - (cal-tex-vspace "-1.5in") - (cal-tex-b-center) - (cal-tex-Huge-bf - (let* ((d (calendar-iso-from-absolute - (calendar-absolute-from-gregorian date)))) - (format "Week %d of %d" - (extract-calendar-month d) - (extract-calendar-year d)))) - (cal-tex-nl ".5cm") - (cal-tex-e-center) - (cal-tex-b-parbox "l" "\\textwidth") - (calendar-for-loop j from 1 to 7 do - (cal-tex-b-parbox "t" "\\textwidth") - (cal-tex-b-parbox "t" "\\textwidth") - (cal-tex-rule "0pt" "\\textwidth" ".2mm") - (cal-tex-nl) - (cal-tex-b-parbox "t" "\\textwidth") - (cal-tex-large-bf (cal-tex-LaTeXify-string (calendar-day-name date))) - (insert ", ") - (cal-tex-large-bf (cal-tex-month-name month)) - (insert " ") - (cal-tex-large-bf (number-to-string day)) - (if (not (string= "" (cal-tex-latexify-list holidays date))) - (progn - (insert ": ") - (cal-tex-large-bf (cal-tex-latexify-list holidays date "; ")))) - (cal-tex-hfill) - (insert " " (eval cal-tex-daily-string)) - (cal-tex-e-parbox) - (cal-tex-nl) - (cal-tex-noindent) - (cal-tex-b-parbox "t" "\\textwidth") - (if (not (string= "" (cal-tex-latexify-list diary-list date))) - (progn - (insert "\\vbox to 0pt{") - (cal-tex-large-bf - (cal-tex-latexify-list diary-list date)) - (insert "}"))) - (cal-tex-e-parbox) - (cal-tex-nl) - (setq date (cal-tex-incr-date date)) - (setq month (extract-calendar-month date)) - (setq day (extract-calendar-day date)) - (cal-tex-e-parbox) - (cal-tex-e-parbox "2cm") - (cal-tex-nl) - (setq month (extract-calendar-month date)) - (setq year (extract-calendar-year date))) - (cal-tex-e-parbox) - (if (/= i n) - (progn - (run-hooks 'cal-tex-week-hook) - (cal-tex-newpage)))) + (cal-tex-vspace "-1.5in") + (cal-tex-b-center) + (cal-tex-Huge-bf + (let* ((d (calendar-iso-from-absolute + (calendar-absolute-from-gregorian date)))) + (format "Week %d of %d" + (extract-calendar-month d) + (extract-calendar-year d)))) + (cal-tex-nl ".5cm") + (cal-tex-e-center) + (cal-tex-b-parbox "l" "\\textwidth") + (calendar-for-loop j from 1 to 7 do + (cal-tex-b-parbox "t" "\\textwidth") + (cal-tex-b-parbox "t" "\\textwidth") + (cal-tex-rule "0pt" "\\textwidth" ".2mm") + (cal-tex-nl) + (cal-tex-b-parbox "t" "\\textwidth") + (cal-tex-large-bf (cal-tex-LaTeXify-string (calendar-day-name date))) + (insert ", ") + (cal-tex-large-bf (cal-tex-month-name month)) + (insert " ") + (cal-tex-large-bf (number-to-string day)) + (if (not (string= "" (cal-tex-latexify-list holidays date))) + (progn + (insert ": ") + (cal-tex-large-bf (cal-tex-latexify-list holidays date "; ")))) + (cal-tex-hfill) + (insert " " (eval cal-tex-daily-string)) + (cal-tex-e-parbox) + (cal-tex-nl) + (cal-tex-noindent) + (cal-tex-b-parbox "t" "\\textwidth") + (if (not (string= "" (cal-tex-latexify-list diary-list date))) + (progn + (insert "\\vbox to 0pt{") + (cal-tex-large-bf + (cal-tex-latexify-list diary-list date)) + (insert "}"))) + (cal-tex-e-parbox) + (cal-tex-nl) + (setq date (cal-tex-incr-date date)) + (setq month (extract-calendar-month date)) + (setq day (extract-calendar-day date)) + (cal-tex-e-parbox) + (cal-tex-e-parbox "2cm") + (cal-tex-nl) + (setq month (extract-calendar-month date)) + (setq year (extract-calendar-year date))) + (cal-tex-e-parbox) + (if (/= i n) + (progn + (run-hooks 'cal-tex-week-hook) + (cal-tex-newpage)))) (cal-tex-end-document) (run-hooks 'cal-tex-hook))) (defun cal-tex-week-hours (date holidays height) - "Insert hourly entries for DATE with HOLIDAYS, with line height HEIGHT." + "Insert hourly entries for DATE with HOLIDAYS, with line height HEIGHT. +Uses the 24-hour clock if `cal-tex-24' is non-nil." (let ((month (extract-calendar-month date)) (day (extract-calendar-day date)) (year (extract-calendar-year date)) @@ -925,11 +938,13 @@ Holidays are included if `cal-tex-holidays' is t." (cal-tex-arg height) (cal-tex-nl)))) +;; TODO cal-tex-diary support. (defun cal-tex-cursor-week-monday (&optional arg) - "Make a buffer with LaTeX commands for a two-page one-week calendar. + "Make a LaTeX calendar buffer for a two-page one-week calendar. It applies to the week that point is in, and starts on Monday. -Optional prefix argument specifies number of weeks. -Holidays are included if `cal-tex-holidays' is t." +Optional prefix argument specifies number of weeks (default 1). +The calendar shows holidays if `cal-tex-holidays' is +non-nil (note that diary entries are not shown)." (interactive "p") (let* ((n (if arg arg 1)) (date (calendar-gregorian-from-absolute @@ -944,26 +959,27 @@ Holidays are included if `cal-tex-holidays' is t." (cal-tex-cmd "\\evensidemargin 0in") (cal-tex-b-document) (calendar-for-loop i from 1 to n do - (cal-tex-vspace "-1cm") - (insert "\\noindent ") - (cal-tex-weekly4-box (cal-tex-incr-date date) nil) - (cal-tex-weekly4-box (cal-tex-incr-date date 4) nil) - (cal-tex-nl ".2cm") - (cal-tex-weekly4-box (cal-tex-incr-date date 2) nil) - (cal-tex-weekly4-box (cal-tex-incr-date date 5) nil) - (cal-tex-nl ".2cm") - (cal-tex-weekly4-box (cal-tex-incr-date date 3) nil) - (cal-tex-weekly4-box (cal-tex-incr-date date 6) t) - (if (/= i n) - (progn - (run-hooks 'cal-tex-week-hook) - (setq date (cal-tex-incr-date date 7)) - (cal-tex-newpage)))) + (cal-tex-vspace "-1cm") + (insert "\\noindent ") + (cal-tex-weekly4-box (cal-tex-incr-date date) nil) + (cal-tex-weekly4-box (cal-tex-incr-date date 4) nil) + (cal-tex-nl ".2cm") + (cal-tex-weekly4-box (cal-tex-incr-date date 2) nil) + (cal-tex-weekly4-box (cal-tex-incr-date date 5) nil) + (cal-tex-nl ".2cm") + (cal-tex-weekly4-box (cal-tex-incr-date date 3) nil) + (cal-tex-weekly4-box (cal-tex-incr-date date 6) t) + (if (/= i n) + (progn + (run-hooks 'cal-tex-week-hook) + (setq date (cal-tex-incr-date date 7)) + (cal-tex-newpage)))) (cal-tex-end-document) (run-hooks 'cal-tex-hook))) (defun cal-tex-weekly4-box (date weekend) - "Make one box for DATE, different if WEEKEND." + "Make one box for DATE, different if WEEKEND. +Uses the 24-hour clock if `cal-tex-24' is non-nil." (let* ( (day (extract-calendar-day date)) (month (extract-calendar-month date)) @@ -1002,10 +1018,10 @@ Holidays are included if `cal-tex-holidays' is t." (cal-tex-hspace "1cm"))) (defun cal-tex-cursor-filofax-2week (&optional arg) - "Two-weeks-at-a-glance Filofax style calendar for week indicated by cursor. -Optional prefix argument specifies number of weeks. -Diary entries are included if `cal-tex-diary' is t. -Holidays are included if `cal-tex-holidays' is t." + "Two-weeks-at-a-glance Filofax style calendar for week cursor is in. +Optional prefix argument specifies number of weeks (default 1). +The calendar shows holiday and diary entries if +`cal-tex-holidays' and `cal-tex-diary', respectively, are non-nil." (interactive "p") (let* ((n (if arg arg 1)) (date (calendar-gregorian-from-absolute @@ -1104,10 +1120,9 @@ Holidays are included if `cal-tex-holidays' is t." (defun cal-tex-cursor-filofax-week (&optional arg) "One-week-at-a-glance Filofax style calendar for week indicated by cursor. -Optional prefix argument specifies number of weeks. -Weeks start on Monday. -Diary entries are included if `cal-tex-diary' is t. -Holidays are included if `cal-tex-holidays' is t." +Optional prefix argument specifies number of weeks (default 1), +starting on Mondays. The calendar shows holiday and diary entries +if `cal-tex-holidays' and `cal-tex-diary', respectively, are non-nil." (interactive "p") (let* ((n (if arg arg 1)) (date (calendar-gregorian-from-absolute @@ -1169,96 +1184,96 @@ Holidays are included if `cal-tex-holidays' is t." (cal-tex-cmd "\\pagestyle{empty}\\ ") (cal-tex-newpage) (calendar-for-loop i from 1 to n do - (insert "\\lefthead") - (cal-tex-arg - (let ((d (cal-tex-incr-date date 2))) - (if (= (extract-calendar-month date) + (insert "\\lefthead") + (cal-tex-arg + (let ((d (cal-tex-incr-date date 2))) + (if (= (extract-calendar-month date) + (extract-calendar-month d)) + (format "%s %s" + (cal-tex-month-name + (extract-calendar-month date)) + (extract-calendar-year date)) + (if (= (extract-calendar-year date) + (extract-calendar-year d)) + (format "%s---%s %s" + (cal-tex-month-name + (extract-calendar-month date)) + (cal-tex-month-name + (extract-calendar-month d)) + (extract-calendar-year date)) + (format "%s %s---%s %s" + (cal-tex-month-name + (extract-calendar-month date)) + (extract-calendar-year date) + (cal-tex-month-name (extract-calendar-month d)) + (extract-calendar-year d)))))) + (insert "%\n") + (calendar-for-loop j from 1 to 3 do + (insert "\\leftday") + (cal-tex-arg (cal-tex-LaTeXify-string (calendar-day-name date))) + (cal-tex-arg (int-to-string (extract-calendar-day date))) + (cal-tex-arg (cal-tex-latexify-list diary-list date)) + (cal-tex-arg (cal-tex-latexify-list holidays date)) + (cal-tex-arg (eval cal-tex-daily-string)) + (insert "%\n") + (setq date (cal-tex-incr-date date))) + (insert "\\noindent\\rule{\\textwidth}{0.3pt}\\\\%\n") + (cal-tex-newpage) + (insert "\\righthead") + (cal-tex-arg + (let ((d (cal-tex-incr-date date 3))) + (if (= (extract-calendar-month date) (extract-calendar-month d)) - (format "%s %s" - (cal-tex-month-name - (extract-calendar-month date)) - (extract-calendar-year date)) - (if (= (extract-calendar-year date) - (extract-calendar-year d)) - (format "%s---%s %s" - (cal-tex-month-name - (extract-calendar-month date)) - (cal-tex-month-name - (extract-calendar-month d)) - (extract-calendar-year date)) - (format "%s %s---%s %s" - (cal-tex-month-name - (extract-calendar-month date)) - (extract-calendar-year date) - (cal-tex-month-name (extract-calendar-month d)) - (extract-calendar-year d)))))) - (insert "%\n") - (calendar-for-loop j from 1 to 3 do - (insert "\\leftday") - (cal-tex-arg (cal-tex-LaTeXify-string (calendar-day-name date))) - (cal-tex-arg (int-to-string (extract-calendar-day date))) - (cal-tex-arg (cal-tex-latexify-list diary-list date)) - (cal-tex-arg (cal-tex-latexify-list holidays date)) - (cal-tex-arg (eval cal-tex-daily-string)) - (insert "%\n") - (setq date (cal-tex-incr-date date))) - (insert "\\noindent\\rule{\\textwidth}{0.3pt}\\\\%\n") - (cal-tex-newpage) - (insert "\\righthead") - (cal-tex-arg - (let ((d (cal-tex-incr-date date 3))) - (if (= (extract-calendar-month date) - (extract-calendar-month d)) - (format "%s %s" - (cal-tex-month-name - (extract-calendar-month date)) - (extract-calendar-year date)) - (if (= (extract-calendar-year date) - (extract-calendar-year d)) - (format "%s---%s %s" - (cal-tex-month-name - (extract-calendar-month date)) - (cal-tex-month-name - (extract-calendar-month d)) - (extract-calendar-year date)) - (format "%s %s---%s %s" - (cal-tex-month-name - (extract-calendar-month date)) - (extract-calendar-year date) - (cal-tex-month-name (extract-calendar-month d)) - (extract-calendar-year d)))))) - (insert "%\n") - (calendar-for-loop j from 1 to 2 do - (insert "\\rightday") - (cal-tex-arg (cal-tex-LaTeXify-string (calendar-day-name date))) - (cal-tex-arg (int-to-string (extract-calendar-day date))) - (cal-tex-arg (cal-tex-latexify-list diary-list date)) - (cal-tex-arg (cal-tex-latexify-list holidays date)) - (cal-tex-arg (eval cal-tex-daily-string)) - (insert "%\n") - (setq date (cal-tex-incr-date date))) - (calendar-for-loop j from 1 to 2 do - (insert "\\weekend") - (cal-tex-arg (cal-tex-LaTeXify-string (calendar-day-name date))) - (cal-tex-arg (int-to-string (extract-calendar-day date))) - (cal-tex-arg (cal-tex-latexify-list diary-list date)) - (cal-tex-arg (cal-tex-latexify-list holidays date)) - (cal-tex-arg (eval cal-tex-daily-string)) - (insert "%\n") - (setq date (cal-tex-incr-date date))) - (if (/= i n) - (progn - (run-hooks 'cal-tex-week-hook) - (cal-tex-newpage)))) + (format "%s %s" + (cal-tex-month-name + (extract-calendar-month date)) + (extract-calendar-year date)) + (if (= (extract-calendar-year date) + (extract-calendar-year d)) + (format "%s---%s %s" + (cal-tex-month-name + (extract-calendar-month date)) + (cal-tex-month-name + (extract-calendar-month d)) + (extract-calendar-year date)) + (format "%s %s---%s %s" + (cal-tex-month-name + (extract-calendar-month date)) + (extract-calendar-year date) + (cal-tex-month-name (extract-calendar-month d)) + (extract-calendar-year d)))))) + (insert "%\n") + (calendar-for-loop j from 1 to 2 do + (insert "\\rightday") + (cal-tex-arg (cal-tex-LaTeXify-string (calendar-day-name date))) + (cal-tex-arg (int-to-string (extract-calendar-day date))) + (cal-tex-arg (cal-tex-latexify-list diary-list date)) + (cal-tex-arg (cal-tex-latexify-list holidays date)) + (cal-tex-arg (eval cal-tex-daily-string)) + (insert "%\n") + (setq date (cal-tex-incr-date date))) + (calendar-for-loop j from 1 to 2 do + (insert "\\weekend") + (cal-tex-arg (cal-tex-LaTeXify-string (calendar-day-name date))) + (cal-tex-arg (int-to-string (extract-calendar-day date))) + (cal-tex-arg (cal-tex-latexify-list diary-list date)) + (cal-tex-arg (cal-tex-latexify-list holidays date)) + (cal-tex-arg (eval cal-tex-daily-string)) + (insert "%\n") + (setq date (cal-tex-incr-date date))) + (if (/= i n) + (progn + (run-hooks 'cal-tex-week-hook) + (cal-tex-newpage)))) (cal-tex-end-document) (run-hooks 'cal-tex-hook))) (defun cal-tex-cursor-filofax-daily (&optional arg) "Day-per-page Filofax style calendar for week indicated by cursor. -Optional prefix argument specifies number of weeks. Weeks start on Monday. -Diary entries are included if `cal-tex-diary' is t. -Holidays are included if `cal-tex-holidays' is t. -Pages are ruled if `cal-tex-rules' is t." +Optional prefix argument specifies number of weeks (default 1), +starting on Mondays. The calendar shows holiday and diary +entries if `cal-tex-holidays' and `cal-tex-diary', respectively, +are non-nil. Pages are ruled if `cal-tex-rules' is non-nil." (interactive "p") (let* ((n (if arg arg 1)) (date (calendar-gregorian-from-absolute @@ -1323,40 +1338,40 @@ Pages are ruled if `cal-tex-rules' is t." (cal-tex-b-document) (cal-tex-cmd "\\pagestyle{empty}") (calendar-for-loop i from 1 to n do - (calendar-for-loop j from 1 to 5 do - (let ((odd (/= 0 (% j 2)))) - (insert (if odd "\\righthead" "\\lefthead")) - (cal-tex-arg (calendar-date-string date)) - (insert "%\n") - (insert (if odd "\\rightday" "\\leftday"))) - (cal-tex-arg (cal-tex-latexify-list diary-list date)) - (cal-tex-arg (cal-tex-latexify-list holidays date "\\\\" t)) - (cal-tex-arg (eval cal-tex-daily-string)) - (insert "%\n") - (if cal-tex-rules - (insert "\\linesfill\n") - (insert "\\vfill\\noindent\\rule{\\textwidth}{0.3pt}\\\\%\n")) - (cal-tex-newpage) - (setq date (cal-tex-incr-date date))) - (insert "%\n") - (calendar-for-loop j from 1 to 2 do - (insert "\\lefthead") - (cal-tex-arg (calendar-date-string date)) - (insert "\\weekend") - (cal-tex-arg (cal-tex-latexify-list diary-list date)) - (cal-tex-arg (cal-tex-latexify-list holidays date "\\\\" t)) - (cal-tex-arg (eval cal-tex-daily-string)) - (insert "%\n") - (if cal-tex-rules - (insert "\\linesfill\n") - (insert "\\vfill")) - (setq date (cal-tex-incr-date date))) - (if (not cal-tex-rules) - (insert "\\noindent\\rule{\\textwidth}{0.3pt}\\\\%\n")) - (if (/= i n) - (progn - (run-hooks 'cal-tex-week-hook) - (cal-tex-newpage)))) + (calendar-for-loop j from 1 to 5 do + (let ((odd (/= 0 (% j 2)))) + (insert (if odd "\\righthead" "\\lefthead")) + (cal-tex-arg (calendar-date-string date)) + (insert "%\n") + (insert (if odd "\\rightday" "\\leftday"))) + (cal-tex-arg (cal-tex-latexify-list diary-list date)) + (cal-tex-arg (cal-tex-latexify-list holidays date "\\\\" t)) + (cal-tex-arg (eval cal-tex-daily-string)) + (insert "%\n") + (if cal-tex-rules + (insert "\\linesfill\n") + (insert "\\vfill\\noindent\\rule{\\textwidth}{0.3pt}\\\\%\n")) + (cal-tex-newpage) + (setq date (cal-tex-incr-date date))) + (insert "%\n") + (calendar-for-loop j from 1 to 2 do + (insert "\\lefthead") + (cal-tex-arg (calendar-date-string date)) + (insert "\\weekend") + (cal-tex-arg (cal-tex-latexify-list diary-list date)) + (cal-tex-arg (cal-tex-latexify-list holidays date "\\\\" t)) + (cal-tex-arg (eval cal-tex-daily-string)) + (insert "%\n") + (if cal-tex-rules + (insert "\\linesfill\n") + (insert "\\vfill")) + (setq date (cal-tex-incr-date date))) + (if (not cal-tex-rules) + (insert "\\noindent\\rule{\\textwidth}{0.3pt}\\\\%\n")) + (if (/= i n) + (progn + (run-hooks 'cal-tex-week-hook) + (cal-tex-newpage)))) (cal-tex-end-document) (run-hooks 'cal-tex-hook))) @@ -1377,10 +1392,10 @@ Optional prefix argument specifies number of days." (cal-tex-b-document) (cal-tex-cmd "\\pagestyle{empty}") (calendar-for-loop i from 1 to n do - (cal-tex-vspace "-1.7in") - (cal-tex-daily-page (calendar-gregorian-from-absolute date)) - (setq date (1+ date)) - (if (/= i n) + (cal-tex-vspace "-1.7in") + (cal-tex-daily-page (calendar-gregorian-from-absolute date)) + (setq date (1+ date)) + (if (/= i n) (progn (cal-tex-newpage) (run-hooks 'cal-tex-daily-hook)))) @@ -1388,7 +1403,10 @@ Optional prefix argument specifies number of days." (run-hooks 'cal-tex-hook))) (defun cal-tex-daily-page (date) - "Make a calendar page for Gregorian DATE on 8.5 by 11 paper." + "Make a calendar page for Gregorian DATE on 8.5 by 11 paper. +Uses the 24-hour clock if `cal-tex-24' is non-nil. Produces +hourly sections for the period specified by `cal-tex-daily-start' +and `cal-tex-daily-end'." (let* ((hour) (month-name (cal-tex-month-name (extract-calendar-month date)))) (cal-tex-banner "cal-tex-daily-page") @@ -1494,12 +1512,12 @@ COLSEP gives the column separation; 1mm is the default." (calendar-for-loop i from 1 to blank-days do (setq str (concat str " & "))) (calendar-for-loop i from 1 to last do - (setq str (concat str (int-to-string i))) - (setq str (concat str (if (zerop (mod (+ i blank-days) 7)) - (if (/= i last) "\\\\[0.5mm]\n" "") - " & ")))) + (setq str (concat str (int-to-string i))) + (setq str (concat str (if (zerop (mod (+ i blank-days) 7)) + (if (/= i last) "\\\\[0.5mm]\n" "") + " & ")))) (setq str (concat str "\n\\end{tabular}\\hfil}\\vfil}}}%\n")) - str)) + str)) ;;; ;;; Various calendar functions diff --git a/lisp/calendar/cal-x.el b/lisp/calendar/cal-x.el index 5f2c89e82c5..0cbc5517531 100644 --- a/lisp/calendar/cal-x.el +++ b/lisp/calendar/cal-x.el @@ -1,6 +1,6 @@ ;;; cal-x.el --- calendar windows in dedicated frames in X -;; Copyright (C) 1994, 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1994, 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Author: Michael Kifer @@ -13,7 +13,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el index 03f9a95fe37..0bd8a8e3e4d 100644 --- a/lisp/calendar/calendar.el +++ b/lisp/calendar/calendar.el @@ -1,7 +1,7 @@ ;;; calendar.el --- calendar functions ;; Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1997, -;; 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Edward M. Reingold ;; Maintainer: Glenn Morris @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -1821,6 +1821,11 @@ Driven by the variable `calendar-date-display-form'.") (autoload 'calendar-islamic-date-string "cal-islam" "String of Islamic date of Gregorian date.") +(autoload 'calendar-goto-bahai-date "cal-bahai" + "Move cursor to Baha'i date DATE. +Echo Baha'i date unless NOECHO is t." + t) + (autoload 'calendar-print-bahai-date "cal-bahai" "Show the Baha'i date equivalents of date." t) @@ -2073,7 +2078,7 @@ Or, for optional MON, YR." ;; Don't do any window-related stuff if we weren't called from a ;; window displaying the calendar (when in-calendar-window - (if (or (one-window-p t) (/= (frame-width) (window-width))) + (if (or (one-window-p t) (not (window-full-width-p))) ;; Don't mess with the window size, but ensure that the first ;; line is fully visible (set-window-vscroll nil 0) diff --git a/lisp/calendar/diary-lib.el b/lisp/calendar/diary-lib.el index ee93b60eb98..30c3afba1cf 100644 --- a/lisp/calendar/diary-lib.el +++ b/lisp/calendar/diary-lib.el @@ -1,7 +1,7 @@ ;;; diary-lib.el --- diary functions ;; Copyright (C) 1989, 1990, 1992, 1993, 1994, 1995, 2001, 2002, 2003, -;; 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Edward M. Reingold ;; Maintainer: Glenn Morris @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calendar/holidays.el b/lisp/calendar/holidays.el index fc6e6315916..3f008617ce1 100644 --- a/lisp/calendar/holidays.el +++ b/lisp/calendar/holidays.el @@ -1,7 +1,7 @@ ;;; holidays.el --- holiday functions for the calendar package ;; Copyright (C) 1989, 1990, 1992, 1993, 1994, 1997, 2001, 2002, 2003, -;; 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Edward M. Reingold ;; Maintainer: Glenn Morris @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calendar/icalendar.el b/lisp/calendar/icalendar.el index 7bbd12a436e..982934d94f4 100644 --- a/lisp/calendar/icalendar.el +++ b/lisp/calendar/icalendar.el @@ -1,6 +1,6 @@ ;;; icalendar.el --- iCalendar implementation -*-coding: utf-8 -*- -;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Ulf Jasper ;; Created: August 2002 @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -678,7 +678,7 @@ takes care of european-style." nil))) (defun icalendar--diarytime-to-isotime (timestring ampmstring) - "Convert a a time like 9:30pm to an iso-conform string like T213000. + "Convert a time like 9:30pm to an iso-conform string like T213000. In this example the TIMESTRING would be \"9:30\" and the AMPMSTRING would be \"pm\"." (if timestring @@ -710,7 +710,7 @@ would be \"pm\"." "Export diary file to iCalendar format. All diary entries in the file DIARY-FILENAME are converted to iCalendar format. The result is appended to the file ICAL-FILENAME." - (interactive "FExport diary data from file: + (interactive "FExport diary data from file: Finto iCalendar file: ") (save-current-buffer (set-buffer (find-file diary-filename)) @@ -1454,8 +1454,8 @@ Argument ICAL-FILENAME output iCalendar file. Argument DIARY-FILENAME input `diary-file'. Optional argument NON-MARKING determines whether events are created as non-marking or not." - (interactive "fImport iCalendar data from file: -Finto diary file: + (interactive "fImport iCalendar data from file: +Finto diary file: p") ;; clean up the diary file (save-current-buffer diff --git a/lisp/calendar/lunar.el b/lisp/calendar/lunar.el index 8aa062d69c3..292e3f84a04 100644 --- a/lisp/calendar/lunar.el +++ b/lisp/calendar/lunar.el @@ -1,7 +1,7 @@ ;;; lunar.el --- calendar functions for phases of the moon ;; Copyright (C) 1992, 1993, 1995, 1997, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Edward M. Reingold ;; Maintainer: Glenn Morris @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calendar/parse-time.el b/lisp/calendar/parse-time.el index 0913bc92160..036f32f46f2 100644 --- a/lisp/calendar/parse-time.el +++ b/lisp/calendar/parse-time.el @@ -1,6 +1,6 @@ ;;; parse-time.el --- parsing time strings -;; Copyright (C) 1996, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1996, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Author: Erik Naggum @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calendar/solar.el b/lisp/calendar/solar.el index 4281c0e1307..a08aa8e64ec 100644 --- a/lisp/calendar/solar.el +++ b/lisp/calendar/solar.el @@ -1,7 +1,7 @@ ;;; solar.el --- calendar functions for solar events ;; Copyright (C) 1992, 1993, 1995, 1997, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Edward M. Reingold ;; Denis B. Roegel @@ -14,7 +14,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/calendar/time-date.el b/lisp/calendar/time-date.el index f00c480da8b..58444041725 100644 --- a/lisp/calendar/time-date.el +++ b/lisp/calendar/time-date.el @@ -1,6 +1,6 @@ ;;; time-date.el --- Date and time handling functions -;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -53,7 +53,7 @@ the symbols HIGH-SYMBOL, LOW-SYMBOL and MICRO-SYMBOL. The optional TYPE-SYMBOL is bound to the type of the time value. Type 0 is the cons cell (HIGH . LOW), type 1 is the list (HIGH -LOW), and type 3 is the list (HIGH LOW MICRO)." +LOW), and type 2 is the list (HIGH LOW MICRO)." (declare (indent 1) (debug ((&rest (symbolp symbolp symbolp &or [symbolp form] form)) body))) @@ -86,7 +86,7 @@ LOW), and type 3 is the list (HIGH LOW MICRO)." (defun encode-time-value (high low micro type) "Encode HIGH, LOW, and MICRO into a time value of type TYPE. Type 0 is the cons cell (HIGH . LOW), type 1 is the list (HIGH LOW), -and type 3 is the list (HIGH LOW MICRO)." +and type 2 is the list (HIGH LOW MICRO)." (cond ((eq type 0) (cons high low)) ((eq type 1) (list high low)) diff --git a/lisp/calendar/timeclock.el b/lisp/calendar/timeclock.el index 4e6e4120404..c4b1fd20f95 100644 --- a/lisp/calendar/timeclock.el +++ b/lisp/calendar/timeclock.el @@ -1,18 +1,18 @@ ;;; timeclock.el --- mode for keeping track of how much you work -;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Author: John Wiegley ;; Created: 25 Mar 1999 -;; Version: 2.6 +;; Version: 2.6.1 ;; Keywords: calendar data ;; This file is part of GNU Emacs. ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -304,8 +304,8 @@ display (non-nil means on)." ;; Update immediately so there is a visible change ;; on calling this function. (if display-time-mode (timeclock-update-modeline) - (message "Activate `display-time-mode' to see \ -timeclock information")) + (message "Activate `display-time-mode' or turn off \ +`timeclock-use-display-time' to see timeclock information")) (add-hook 'display-time-hook 'timeclock-update-modeline)) (setq timeclock-update-timer (run-at-time nil 60 'timeclock-update-modeline)))) @@ -589,6 +589,38 @@ relative only to the time worked today, and not to past time." (message "%s" string) string))) +(defun timeclock-make-hours-explicit (old-default) + "Specify all workday lengths in `timeclock-file'. +OLD-DEFAULT hours are set for every day that has no number indicated." + (interactive "P") + (if old-default (setq old-default (prefix-numeric-value old-default)) + (error "timelog-make-hours-explicit requires an explicit argument")) + (let ((extant-timelog (find-buffer-visiting timeclock-file)) + current-date) + (with-current-buffer (find-file-noselect timeclock-file t) + (unwind-protect + (save-excursion + (save-restriction + (widen) + (goto-char (point-min)) + (while (progn (skip-chars-forward "\n") (not (eobp))) + ;; This is just a variant of `timeclock-moment-regexp'. + (unless (looking-at + (concat "^\\([bhioO]\\) \\([0-9]+/[0-9]+/[0-9]+\\) " + "\\([0-9]+:[0-9]+:[0-9]+\\)")) + (error "Can't parse `%s'" timeclock-file)) + (let ((this-date (match-string 2))) + (unless (or (and current-date + (string= this-date current-date)) + (string= (match-string 1) "h")) + (insert (format "h %s %s %s\n" (match-string 2) + (match-string 3) old-default))) + (if (string-match "^[ih]" (match-string 1)) ; ignore logouts + (setq current-date this-date))) + (forward-line)) + (save-buffer))) + (unless extant-timelog (kill-buffer (current-buffer))))))) + ;;; Internal Functions: (defvar timeclock-project-list nil) @@ -653,7 +685,7 @@ that variable's documentation." If PROJECT is a string, it represents the project which the event is being logged for. Normally only \"in\" events specify a project." (let ((extant-timelog (find-buffer-visiting timeclock-file))) - (with-current-buffer (find-file-noselect timeclock-file) + (with-current-buffer (find-file-noselect timeclock-file t) (save-excursion (save-restriction (widen) @@ -663,8 +695,7 @@ being logged for. Normally only \"in\" events specify a project." (let ((now (current-time))) (insert code " " (format-time-string "%Y/%m/%d %H:%M:%S" now) - (or (and project - (stringp project) + (or (and (stringp project) (> (length project) 0) (concat " " project)) "") @@ -679,8 +710,8 @@ being logged for. Normally only \"in\" events specify a project." timeclock-last-period))) (setq timeclock-last-event (list code now project))))) (save-buffer) - (run-hooks 'timeclock-event-hook) - (unless extant-timelog (kill-buffer (current-buffer)))))) + (unless extant-timelog (kill-buffer (current-buffer))))) + (run-hooks 'timeclock-event-hook)) (defvar timeclock-moment-regexp (concat "\\([bhioO]\\)\\s-+" @@ -1152,8 +1183,8 @@ If optional argument TIME is non-nil, use that instead of the current time." (setcar (nthcdr 2 decoded) 0) (apply 'encode-time decoded))) -(defun timeclock-geometric-mean (l) - "Compute the geometric mean of the values in the list L." +(defun timeclock-mean (l) + "Compute the arithmetic mean of the values in the list L." (let ((total 0) (count 0)) (while l @@ -1168,7 +1199,7 @@ If optional argument TIME is non-nil, use that instead of the current time." "Generate a summary report based on the current timelog file. By default, the report is in plain text, but if the optional argument HTML-P is non-nil, HTML markup is added." - (interactive) + (interactive "P") (let ((log (timeclock-log-data)) (today (timeclock-day-base))) (if html-p (insert "

")) @@ -1300,14 +1331,10 @@ HTML-P is non-nil, HTML markup is added." ;; average statistics (let ((i 0) (l 5)) (while (< i l) - (aset time-in i (timeclock-geometric-mean - (cdr (aref time-in i)))) - (aset time-out i (timeclock-geometric-mean - (cdr (aref time-out i)))) - (aset breaks i (timeclock-geometric-mean - (cdr (aref breaks i)))) - (aset workday i (timeclock-geometric-mean - (cdr (aref workday i)))) + (aset time-in i (timeclock-mean (cdr (aref time-in i)))) + (aset time-out i (timeclock-mean (cdr (aref time-out i)))) + (aset breaks i (timeclock-mean (cdr (aref breaks i)))) + (aset workday i (timeclock-mean (cdr (aref workday i)))) (setq i (1+ i)))) ;; Output the HTML table (insert "\n") diff --git a/lisp/calendar/todo-mode.el b/lisp/calendar/todo-mode.el index fc222c2d839..3172fed5994 100644 --- a/lisp/calendar/todo-mode.el +++ b/lisp/calendar/todo-mode.el @@ -1,6 +1,6 @@ ;;; todo-mode.el --- major mode for editing TODO list files -;; Copyright (C) 1997, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1997, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Author: Oliver Seidel @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/case-table.el b/lisp/case-table.el index 64cf69ba2bf..e0251be3af1 100644 --- a/lisp/case-table.el +++ b/lisp/case-table.el @@ -1,7 +1,7 @@ ;;; case-table.el --- code to extend the character set and support case tables ;; Copyright (C) 1988, 1994, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Howard Gayle ;; Maintainer: FSF @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/cdl.el b/lisp/cdl.el index d238a42dd68..57c3084a0a3 100644 --- a/lisp/cdl.el +++ b/lisp/cdl.el @@ -1,7 +1,7 @@ ;;; cdl.el --- Common Data Language (CDL) utility functions for GNU Emacs ;; Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: ATAE@spva.physics.imperial.ac.uk (Ata Etemadi) ;; Maintainer: FSF @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/chistory.el b/lisp/chistory.el index 286750418cf..52992681a94 100644 --- a/lisp/chistory.el +++ b/lisp/chistory.el @@ -1,7 +1,7 @@ ;;; chistory.el --- list command history ;; Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: K. Shane Hartman ;; Maintainer: FSF @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/cmuscheme.el b/lisp/cmuscheme.el index 12840441a6a..8b208e45d4d 100644 --- a/lisp/cmuscheme.el +++ b/lisp/cmuscheme.el @@ -1,7 +1,7 @@ ;;; cmuscheme.el --- Scheme process in a buffer. Adapted from tea.el ;; Copyright (C) 1988, 1994, 1997, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Olin Shivers ;; Maintainer: FSF @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/comint.el b/lisp/comint.el index 7d81f357e22..f8a47152976 100644 --- a/lisp/comint.el +++ b/lisp/comint.el @@ -1,7 +1,7 @@ ;;; comint.el --- general command interpreter in a window stuff ;; Copyright (C) 1988, 1990, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -;; 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Olin Shivers ;; Simon Marshall @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -333,12 +333,15 @@ This variable is buffer-local." ;; kinit prints a prompt like `Password for devnull@GNU.ORG: '. ;; ksu prints a prompt like `Kerberos password for devnull/root@GNU.ORG: '. ;; ssh-add prints a prompt like `Enter passphrase: '. +;; plink prints a prompt like `Passphrase for key "root@GNU.ORG": '. +;; Ubuntu's sudo prompts like `[sudo] password for user:' ;; Some implementations of passwd use "Password (again)" as the 2nd prompt. +;; Something called "perforce" uses "Enter password:". (defcustom comint-password-prompt-regexp - "\\(\\([Oo]ld \\|[Nn]ew \\|'s \\|login \\|\ -Kerberos \\|CVS \\|UNIX \\| SMB \\|^\\)\ + "\\(\\(Enter \\|[Oo]ld \\|[Nn]ew \\|'s \\|login \\|\ +Kerberos \\|CVS \\|UNIX \\| SMB \\|LDAP \\|\\[sudo] \\|^\\)\ \[Pp]assword\\( (again)\\)?\\|\ -pass phrase\\|\\(Enter\\|Repeat\\|Bad\\) passphrase\\)\ +pass phrase\\|\\(Enter \\|Repeat \\|Bad \\)?[Pp]assphrase\\)\ \\(?:, try again\\)?\\(?: for [^:]+\\)?:\\s *\\'" "*Regexp matching prompts for passwords in the inferior process. This is used by `comint-watch-for-password-prompt'." @@ -450,6 +453,10 @@ executed once when the buffer is created." (define-key map "\e\C-l" 'comint-show-output) (define-key map "\C-m" 'comint-send-input) (define-key map "\C-d" 'comint-delchar-or-maybe-eof) + ;; The following two are standardly aliased to C-d, + ;; but they should never do EOF, just delete. + (define-key map [delete] 'delete-char) + (define-key map [kp-delete] 'delete-char) (define-key map "\C-c " 'comint-accumulate) (define-key map "\C-c\C-x" 'comint-get-next-from-history) (define-key map "\C-c\C-a" 'comint-bol-or-process-mark) @@ -642,9 +649,15 @@ Entry to this mode runs the hooks on `comint-mode-hook'." (make-local-variable 'comint-move-point-for-output) (make-local-variable 'comint-scroll-show-maximum-output) (make-local-variable 'comint-stored-incomplete-input) + ;; Following disabled because it seems to break the case when + ;; comint-scroll-show-maximum-output is nil, and no-one can remember + ;; what the original problem was. If there are problems with point + ;; not going to the end, consider re-enabling this. + ;; http://lists.gnu.org/archive/html/emacs-devel/2007-08/msg00827.html + ;; ;; This makes it really work to keep point at the bottom. - (make-local-variable 'scroll-conservatively) - (setq scroll-conservatively 10000) +;;; (make-local-variable 'scroll-conservatively) +;;; (setq scroll-conservatively 10000) (add-hook 'pre-command-hook 'comint-preinput-scroll-to-bottom t t) (make-local-variable 'comint-ptyp) (make-local-variable 'comint-process-echoes) @@ -807,6 +820,7 @@ buffer. The hook `comint-exec-hook' is run after each exec." If there is no previous input at point, run the command specified by the global keymap (usually `mouse-yank-at-point')." (interactive "e") + (mouse-set-point event) (let ((pos (posn-point (event-end event))) field input) (with-selected-window (posn-window (event-end event)) @@ -1007,9 +1021,11 @@ See also `comint-read-input-ring'." (last-command last-command) (regexp (read-from-minibuffer prompt nil nil nil 'minibuffer-history-search-history))) + ;; If the user didn't enter anything, nothing is added to m-h-s-h. + ;; Use the previous search regexp, if there is one. (list (if (string-equal regexp "") - (setcar minibuffer-history-search-history - (nth 1 minibuffer-history-search-history)) + (or (car minibuffer-history-search-history) + regexp) regexp) (prefix-numeric-value current-prefix-arg)))) @@ -1953,11 +1969,16 @@ If this takes us past the end of the current line, don't skip at all." "Default function for sending to PROC input STRING. This just sends STRING plus a newline. To override this, set the hook `comint-input-sender'." - (comint-send-string proc string) - (if comint-input-sender-no-newline - (if (not (string-equal string "")) - (process-send-eof)) - (comint-send-string proc "\n"))) + (let ((send-string + (if comint-input-sender-no-newline + string + ;; Sending as two separate strings does not work + ;; on Windows, so concat the \n before sending. + (concat string "\n")))) + (comint-send-string proc send-string)) + (if (and comint-input-sender-no-newline + (not (string-equal string ""))) + (process-send-eof))) (defun comint-line-beginning-position () "Return the buffer position of the beginning of the line, after any prompt. diff --git a/lisp/compare-w.el b/lisp/compare-w.el index 19ad84e11c0..536b560c1a9 100644 --- a/lisp/compare-w.el +++ b/lisp/compare-w.el @@ -1,7 +1,7 @@ ;;; compare-w.el --- compare text between windows for Emacs ;; Copyright (C) 1986, 1989, 1993, 1997, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: convenience files @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/complete.el b/lisp/complete.el index b1bb36f9dfa..aca28af4a5b 100644 --- a/lisp/complete.el +++ b/lisp/complete.el @@ -1,7 +1,7 @@ ;;; complete.el --- partial completion mechanism plus other goodies ;; Copyright (C) 1990, 1991, 1992, 1993, 1999, 2000, 2001, 2002, 2003, -;; 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Dave Gillespie ;; Keywords: abbrev convenience @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/completion.el b/lisp/completion.el index 25b95852536..76087b3bd2c 100644 --- a/lisp/completion.el +++ b/lisp/completion.el @@ -1,7 +1,7 @@ ;;; completion.el --- dynamic word-completion code ;; Copyright (C) 1990, 1993, 1995, 1997, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: abbrev convenience @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/composite.el b/lisp/composite.el index ede7d023e87..a857710f04c 100644 --- a/lisp/composite.el +++ b/lisp/composite.el @@ -1,6 +1,7 @@ ;;; composite.el --- support character composition -;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, +;; 2008 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO021 @@ -10,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/cus-dep.el b/lisp/cus-dep.el index 713b84f8bc0..7339bc65178 100644 --- a/lisp/cus-dep.el +++ b/lisp/cus-dep.el @@ -1,7 +1,7 @@ ;;; cus-dep.el --- find customization dependencies ;; ;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; ;; Author: Per Abrahamsen ;; Keywords: internal @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el index 4dae3bab018..0446102eb09 100644 --- a/lisp/cus-edit.el +++ b/lisp/cus-edit.el @@ -1,7 +1,7 @@ ;;; cus-edit.el --- tools for customizing Emacs and Lisp packages ;; ;; Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; ;; Author: Per Abrahamsen ;; Maintainer: FSF @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -1151,7 +1151,7 @@ the official name of the package, such as MH-E or Gnus.") (defalias 'customize-changed 'customize-changed-options) ;;;###autoload -(defun customize-changed-options (since-version) +(defun customize-changed-options (&optional since-version) "Customize all settings whose meanings have changed in Emacs itself. This includes new user option variables and faces, and new customization groups, as well as older options and faces whose meanings @@ -1384,7 +1384,7 @@ If ALL is `groups', include only groups. If ALL is t (interactively, with prefix arg), include variables that are not customizable options, as well as faces and groups \(but we recommend using `apropos-variable' instead)." - (interactive "sCustomize regexp: \nP") + (interactive "sCustomize (regexp): \nP") (let ((found nil)) (mapatoms (lambda (symbol) (when (string-match regexp (symbol-name symbol)) @@ -1412,20 +1412,20 @@ that are not customizable options, as well as faces and groups (defun customize-apropos-options (regexp &optional arg) "Customize all loaded customizable options matching REGEXP. With prefix arg, include variables that are not customizable options -\(but we recommend using `apropos-variable' instead)." - (interactive "sCustomize regexp: \nP") +\(but it is better to use `apropos-variable' if you want to find those)." + (interactive "sCustomize options (regexp): \nP") (customize-apropos regexp (or arg 'options))) ;;;###autoload (defun customize-apropos-faces (regexp) "Customize all loaded faces matching REGEXP." - (interactive "sCustomize regexp: \n") + (interactive "sCustomize faces (regexp): \n") (customize-apropos regexp 'faces)) ;;;###autoload (defun customize-apropos-groups (regexp) "Customize all loaded groups matching REGEXP." - (interactive "sCustomize regexp: \n") + (interactive "sCustomize groups (regexp): \n") (customize-apropos regexp 'groups)) ;;; Buffer. @@ -2313,7 +2313,8 @@ Insert PREFIX first if non-nil." (insert ", ")))) (widget-put widget :buttons buttons)))) -(defun custom-add-parent-links (widget &optional initial-string) +(defun custom-add-parent-links (widget &optional initial-string + doc-initial-string) "Add \"Parent groups: ...\" to WIDGET if the group has parents. The value is non-nil if any parents were found. If INITIAL-STRING is non-nil, use that rather than \"Parent groups:\"." @@ -2322,7 +2323,7 @@ If INITIAL-STRING is non-nil, use that rather than \"Parent groups:\"." (buttons (widget-get widget :buttons)) (start (point)) (parents nil)) - (insert (or initial-string "Parent groups:")) + (insert (or initial-string "Groups:")) (mapatoms (lambda (symbol) (when (member (list name type) (get symbol 'custom-group)) (insert " ") @@ -2341,23 +2342,27 @@ If INITIAL-STRING is non-nil, use that rather than \"Parent groups:\"." (get (car parents) 'custom-links)))) (many (> (length links) 2))) (when links - (insert "\nParent documentation: ") - (while links - (push (widget-create-child-and-convert - widget (car links) - :button-face 'custom-link - :mouse-face 'highlight - :pressed-face 'highlight) - buttons) - (setq links (cdr links)) - (cond ((null links) - (insert ".\n")) - ((null (cdr links)) - (if many - (insert ", and ") - (insert " and "))) - (t - (insert ", "))))))) + (let ((pt (point)) + (left-margin (+ left-margin 2))) + (insert "\n" (or doc-initial-string "Group documentation:") " ") + (while links + (push (widget-create-child-and-convert + widget (car links) + :button-face 'custom-link + :mouse-face 'highlight + :pressed-face 'highlight) + buttons) + (setq links (cdr links)) + (cond ((null links) + (insert ".\n")) + ((null (cdr links)) + (if many + (insert ", and ") + (insert " and "))) + (t + (insert ", ")))) + (fill-region-as-paragraph pt (point)) + (delete-to-left-margin (1+ pt) (+ pt 2)))))) (if parents (insert "\n") (delete-region start (point))) @@ -2500,7 +2505,8 @@ However, setting it through Custom sets the default value.") (defun custom-variable-type (symbol) "Return a widget suitable for editing the value of SYMBOL. If SYMBOL has a `custom-type' property, use that. -Otherwise, look up symbol in `custom-guess-type-alist'." +Otherwise, try matching SYMBOL against `custom-guess-name-alist' and +try matching its doc string against `custom-guess-doc-alist'." (let* ((type (or (get symbol 'custom-type) (and (not (get symbol 'standard-value)) (custom-guess-type symbol)) @@ -2743,7 +2749,12 @@ Otherwise, look up symbol in `custom-guess-type-alist'." `(("Set for Current Session" custom-variable-set (lambda (widget) (eq (widget-get widget :custom-state) 'modified))) - ,@(when (or custom-file user-init-file) + ;; Note that in all the backquoted code in this file, we test + ;; init-file-user rather than user-init-file. This is in case + ;; cus-edit is loaded by something in site-start.el, because + ;; user-init-file is not set at that stage. + ;; http://lists.gnu.org/archive/html/emacs-devel/2007-10/msg00310.html + ,@(when (or custom-file init-file-user) '(("Save for Future Sessions" custom-variable-save (lambda (widget) (memq (widget-get widget :custom-state) @@ -2758,7 +2769,7 @@ Otherwise, look up symbol in `custom-guess-type-alist'." (get (widget-value widget) 'saved-variable-comment)) (memq (widget-get widget :custom-state) '(modified set changed rogue))))) - ,@(when (or custom-file user-init-file) + ,@(when (or custom-file init-file-user) '(("Erase Customization" custom-variable-reset-standard (lambda (widget) (and (get (widget-value widget) 'standard-value) @@ -3057,7 +3068,7 @@ Also change :reverse-video to :inverse-video." (cons value (cons from (- (point) from)))))))) (defun custom-face-edit-activate (widget) - "Make face widget WIDGET inactive for user modifications." + "Make face widget WIDGET active for user modifications." (let ((inactive (widget-get widget :inactive)) (inhibit-read-only t) (inhibit-modification-hooks t)) @@ -3415,7 +3426,7 @@ SPEC must be a full face spec." (defvar custom-face-menu `(("Set for Current Session" custom-face-set) - ,@(when (or custom-file user-init-file) + ,@(when (or custom-file init-file-user) '(("Save for Future Sessions" custom-face-save))) ("Undo Edits" custom-redraw (lambda (widget) @@ -3424,7 +3435,7 @@ SPEC must be a full face spec." (lambda (widget) (or (get (widget-value widget) 'saved-face) (get (widget-value widget) 'saved-face-comment)))) - ,@(when (or custom-file user-init-file) + ,@(when (or custom-file init-file-user) '(("Erase Customization" custom-face-reset-standard (lambda (widget) (get (widget-value widget) 'face-defface-spec))))) @@ -3934,7 +3945,8 @@ If GROUPS-ONLY non-nil, return only those members that are groups." ;;; was made to display a group. (when (eq level 1) (if (custom-add-parent-links widget - "Go to parent group:") + "Parent groups:" + "Parent group documentation:") (insert "\n")))) ;; Create level indicator. (insert-char ?\ (* custom-buffer-indent (1- level))) @@ -4024,7 +4036,7 @@ Creating group members... %2d%%" `(("Set for Current Session" custom-group-set (lambda (widget) (eq (widget-get widget :custom-state) 'modified))) - ,@(when (or custom-file user-init-file) + ,@(when (or custom-file init-file-user) '(("Save for Future Sessions" custom-group-save (lambda (widget) (memq (widget-get widget :custom-state) '(modified set)))))) @@ -4034,7 +4046,7 @@ Creating group members... %2d%%" ("Reset to Saved" custom-group-reset-saved (lambda (widget) (memq (widget-get widget :custom-state) '(modified set)))) - ,@(when (or custom-file user-init-file) + ,@(when (or custom-file init-file-user) '(("Erase Customization" custom-group-reset-standard (lambda (widget) (memq (widget-get widget :custom-state) '(modified set saved))))))) @@ -4530,7 +4542,7 @@ If several parents are listed, go to the first of them." (interactive) (save-excursion (goto-char (point-min)) - (if (search-forward "\nGo to parent group: " nil t) + (if (search-forward "\nParent groups: " nil t) (let* ((button (get-char-property (point) 'button)) (parent (downcase (widget-get button :tag)))) (customize-group parent))))) diff --git a/lisp/cus-face.el b/lisp/cus-face.el index de5633525eb..6404110ec99 100644 --- a/lisp/cus-face.el +++ b/lisp/cus-face.el @@ -1,7 +1,7 @@ ;;; cus-face.el --- customization support for faces ;; ;; Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; ;; Author: Per Abrahamsen ;; Keywords: help, faces @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/cus-load.el b/lisp/cus-load.el index df11014f422..8de401f23bb 100644 --- a/lisp/cus-load.el +++ b/lisp/cus-load.el @@ -26,7 +26,6 @@ (put 'gnus-fun 'custom-loads '(gnus-fun)) (put 'org-time 'custom-loads '(org)) (put 'calendar-tex 'custom-loads '(cal-tex)) -(put 'erc-nicklist 'custom-loads '(erc-nicklist)) (put 'savehist 'custom-loads '(savehist)) (put 'mail-hist 'custom-loads '(mail-hist)) (put 'gnus-article-emphasis 'custom-loads '(gnus-art)) @@ -44,8 +43,8 @@ (put 'ps-print-vertical 'custom-loads '(ps-print)) (put 'supercite-hooks 'custom-loads '(supercite)) (put 'vhdl-menu 'custom-loads '(vhdl-mode)) -(put 'gnus-newsrc 'custom-loads '(gnus-start)) (put 'chinese-calendar 'custom-loads '(cal-china)) +(put 'gnus-newsrc 'custom-loads '(gnus-start)) (put 'erc-replace 'custom-loads '(erc-replace)) (put 'edt 'custom-loads '(edt)) (put 'expand 'custom-loads '(expand)) @@ -114,12 +113,14 @@ (put 'gnus-various 'custom-loads '(gnus-sum gnus gnus-util)) (put 'elide-head 'custom-loads '(elide-head)) (put 'vhdl-compile 'custom-loads '(vhdl-mode)) +(put 'font-lock-highlighting-faces 'custom-loads '(vera-mode verilog-mode)) (put 'ebrowse-tree 'custom-loads '(ebrowse)) (put 'flyspell 'custom-loads '(flyspell)) (put 'python 'custom-loads '(python)) (put 'recentf-filters 'custom-loads '(recentf)) (put 'ange-ftp 'custom-loads '(ange-ftp)) (put 'erc-pcomplete 'custom-loads '(erc-pcomplete)) +(put 'verilog-mode-indent 'custom-loads '(verilog-mode)) (put 'erc-stamp 'custom-loads '(erc-stamp)) (put 'ebnf-shape 'custom-loads '(ebnf2ps)) (put 'minibuffer 'custom-loads '(icomplete complete savehist)) @@ -158,7 +159,7 @@ (put 'gnus-thread 'custom-loads '(gnus-sum gnus-group)) (put 'org-progress 'custom-loads '(org)) (put 'pop3 'custom-loads '(pop3)) -(put 'languages 'custom-loads '(ps-mode ada-mode antlr-mode asm-mode cus-edit cfengine cperl-mode dcl-mode delphi f90 fortran hideshow icon idlwave info-look ld-script m4-mode meta-mode modula2 octave-mod pascal perl-mode prolog python sgml-mode sh-script sieve simula tcl vhdl-mode)) +(put 'languages 'custom-loads '(ps-mode ada-mode antlr-mode asm-mode cus-edit cfengine cperl-mode dcl-mode delphi f90 fortran hideshow icon idlwave info-look ld-script m4-mode meta-mode modula2 octave-mod pascal perl-mode prolog python sgml-mode sh-script sieve simula tcl vera-mode verilog-mode vhdl-mode)) (put 'reftex-miscellaneous-configurations 'custom-loads '(reftex-vars)) (put 'pong 'custom-loads '(pong)) (put 'ediff-ptch 'custom-loads '(ediff-ptch)) @@ -265,12 +266,13 @@ (put 'gnus-nocem 'custom-loads '(gnus-nocem)) (put 'gnus-group-visual 'custom-loads '(gnus-group gnus)) (put 'paren-matching 'custom-loads '(paren)) +(put 'vc-bzr 'custom-loads '(vc-bzr)) (put 'font-lock 'custom-loads '(hi-lock)) (put 'lazy-highlight 'custom-loads '(ispell)) (put 'tpu 'custom-loads '("tpu-extras" tpu-edt)) (put 'w32 'custom-loads '("w32-vars")) -(put 'gnus-cite 'custom-loads '(gnus-cite)) (put 'viper-hooks 'custom-loads '(viper-init)) +(put 'gnus-cite 'custom-loads '(gnus-cite)) (put 'gnus-demon 'custom-loads '(gnus-demon)) (put 'newsticker 'custom-loads '(newsticker)) (put 'reftex-optimizations-for-large-documents 'custom-loads '(reftex-vars)) @@ -309,6 +311,7 @@ (put 'org-export 'custom-loads '(org)) (put 'org-priorities 'custom-loads '(org)) (put 'idlwave-shell-highlighting-and-faces 'custom-loads '(idlw-shell)) +(put 'verilog-mode-auto 'custom-loads '(verilog-mode)) (put 'tcl 'custom-loads '(tcl)) (put 'vhdl-print 'custom-loads '(vhdl-mode)) (put 'url-mime 'custom-loads '(url-vars)) @@ -399,17 +402,18 @@ (put 'diff 'custom-loads '(diff diff-mode)) (put 'unix 'custom-loads '(gud rlogin sh-script shell term)) (put 'external 'custom-loads '(bib-mode locate cus-edit server)) -(put 'vc 'custom-loads '(log-edit vc vc-arch vc-cvs vc-mcvs vc-rcs vc-sccs vc-svn)) +(put 'vc 'custom-loads '(log-edit vc vc-arch vc-bzr vc-cvs vc-hg vc-mcvs vc-mtn vc-rcs vc-sccs vc-svn)) (put 'vhdl-highlight-faces 'custom-loads '(vhdl-mode)) (put 'which-func 'custom-loads '(which-func)) (put 'icalendar 'custom-loads '(icalendar)) (put 'pc-select 'custom-loads '(pc-select)) +(put 'vera 'custom-loads '(vera-mode)) (put 'i18n 'custom-loads '(ccl double iso-ascii latin1-disp cus-edit ogonek url-vars)) (put 'org 'custom-loads '(org)) (put 'sh 'custom-loads '(sh-script)) (put 'message-headers 'custom-loads '(message)) (put 'idlwave-code-formatting 'custom-loads '(idlwave)) -(put 'basic-faces 'custom-loads '(button cus-edit shadowfile)) +(put 'basic-faces 'custom-loads '(cus-edit shadowfile)) (put 'net-utils 'custom-loads '(net-utils)) (put 'vhdl-naming 'custom-loads '(vhdl-mode)) (put 'columns 'custom-loads '(delim-col)) @@ -421,8 +425,8 @@ (put 'message-forwarding 'custom-loads '(message)) (put 'help-at-pt 'custom-loads '(help-at-pt)) (put 'message-faces 'custom-loads '(message)) -(put 'environment 'custom-loads '(cus-edit dired "dos-vars" "w32-vars")) (put 'ibuffer 'custom-loads '(ibuffer ibuf-ext)) +(put 'environment 'custom-loads '(cus-edit dired "dos-vars" "w32-vars")) (put 'perl 'custom-loads '(perl-mode)) (put 'erc-server 'custom-loads '(erc-backend)) (put 'vhdl-port 'custom-loads '(vhdl-mode)) @@ -458,8 +462,8 @@ (put 'mime-security 'custom-loads '(gnus-art mm-decode mml2015)) (put 'PostScript 'custom-loads '(ps-mode)) (put 'abbrev-mode 'custom-loads '(cus-edit mailabbrev)) -(put 'earcon 'custom-loads '(earcon)) (put 'eshell-term 'custom-loads '(em-term)) +(put 'earcon 'custom-loads '(earcon)) (put 'feedmail-headers 'custom-loads '(feedmail)) (put 'newsticker-faces 'custom-loads '(newsticker)) (put 'hypermedia 'custom-loads '(browse-url goto-addr metamail org url-vars wid-edit)) @@ -486,6 +490,7 @@ (put 'cperl 'custom-loads '(cperl-mode)) (put 'longlines 'custom-loads '(longlines)) (put 'bs-appearance 'custom-loads '(bs)) +(put 'nil 'custom-loads '(css-mode)) (put 'pcmpl-cvs 'custom-loads '(pcmpl-cvs)) (put 'eshell-mode 'custom-loads '(esh-mode)) (put 'files 'custom-loads '(ange-ftp autoinsert autorevert cus-edit dired filecache latexenc recentf shadowfile tramp)) @@ -514,6 +519,7 @@ (put 'gnus-article-hiding 'custom-loads '(gnus-cite gnus-art gnus-sum)) (put 'vhdl-mode 'custom-loads '(vhdl-mode)) (put 'lpr 'custom-loads '(lpr)) +(put 'verilog-mode 'custom-loads '(verilog-mode)) (put 'ispell 'custom-loads '(flyspell ispell)) (put 'auto-revert 'custom-loads '(autorevert)) (put 'advice 'custom-loads '(advice)) @@ -542,6 +548,7 @@ (put 'icomplete 'custom-loads '(icomplete)) (put 'LaTeX 'custom-loads '(reftex-vars)) (put 'org-link 'custom-loads '(org)) +(put 'socks 'custom-loads '(socks)) (put 'man 'custom-loads '(man)) (put 'solitaire 'custom-loads '(solitaire)) (put 'erc-page 'custom-loads '(erc-page)) @@ -551,7 +558,7 @@ (put 'archive-zoo 'custom-loads '(arc-mode)) (put 'idlwave-completion 'custom-loads '(idlwave)) (put 'eshell-rebind 'custom-loads '(em-rebind)) -(put 'bibtex 'custom-loads '(bibtex)) +(put 'bibtex 'custom-loads '(bibtex bibtex-style)) (put 'faces 'custom-loads '(cus-edit cwarn dired gnus hi-lock hilit-chg message paren ps-print rcirc speedbar whitespace wid-edit woman)) (put 'gnus-summary-various 'custom-loads '(gnus-sum)) (put 'applications 'custom-loads '(calc calendar erc eshell cus-edit ispell newsticker rcirc ses spell uniquify)) @@ -598,6 +605,7 @@ (put 'table 'custom-loads '(table)) (put 'gnus-extract-post 'custom-loads '(gnus-uu)) (put 'reftex-viewing-cross-references 'custom-loads '(reftex-vars)) +(put 'verilog-mode-actions 'custom-loads '(verilog-mode)) (put 'hanoi 'custom-loads '(hanoi)) (put 'reftex-index-support 'custom-loads '(reftex-vars)) (put 'rmail-retrieve 'custom-loads '(rmail rmailsum)) @@ -715,7 +723,7 @@ (put 'erc-quit-and-part 'custom-loads '(erc)) (put 'c 'custom-loads '("cc-vars" cmacexp cpp hideif)) (put 'nnmail-prepare 'custom-loads '(nnmail)) -(put 'processes 'custom-loads '(sql ansi-color comint compile executable cus-edit flyspell grep metamail pcomplete rcompile rlogin shell term)) +(put 'processes 'custom-loads '(sql ansi-color comint compile executable cus-edit flyspell grep metamail pcomplete rcompile rlogin shell socks term)) (put 'ebnf2ps 'custom-loads '(ebnf2ps)) (put 'erc-mode-line-and-header 'custom-loads '(erc)) (put 'sendmail 'custom-loads '(sendmail)) @@ -731,7 +739,7 @@ (put 'gulp 'custom-loads '(gulp)) (put 'leim 'custom-loads '(quail)) (put 'ielm 'custom-loads '(ielm)) -(put 'erc 'custom-loads '(erc-autoaway erc-join erc erc-button erc-capab erc-goodies erc-dcc erc-ezbounce erc-fill erc-hecomplete erc-ibuffer erc-identd erc-log erc-match erc-netsplit erc-networks erc-nicklist erc-notify erc-page erc-pcomplete erc-replace erc-services erc-sound erc-speedbar erc-stamp erc-track erc-truncate)) +(put 'erc 'custom-loads '(erc-autoaway erc-join erc erc-button erc-capab erc-goodies erc-dcc erc-ezbounce erc-fill erc-hecomplete erc-ibuffer erc-identd erc-log erc-match erc-netsplit erc-networks erc-notify erc-page erc-pcomplete erc-replace erc-services erc-sound erc-speedbar erc-stamp erc-track erc-truncate)) (put 'org-table-settings 'custom-loads '(org)) (put 'find-dired 'custom-loads '(find-dired)) (put 'delphi 'custom-loads '(delphi)) @@ -858,6 +866,8 @@ the tasks accomplished by such tools.") (custom-put-if-not 'tildify 'group-documentation "Adding missing hard spaces or other text fragments into texts.") (custom-put-if-not 'inferior-lisp 'custom-version "22.1") (custom-put-if-not 'inferior-lisp 'group-documentation "Run an outside Lisp in an Emacs buffer.") +(custom-put-if-not 'vc-bzr 'custom-version "22.2") +(custom-put-if-not 'vc-bzr 'group-documentation "VC bzr backend.") (custom-put-if-not 'w32 'custom-version "22.1") (custom-put-if-not 'w32 'group-documentation "MS-Windows specific features.") (custom-put-if-not 'ansi-colors 'custom-version "21.1") @@ -908,6 +918,8 @@ as a PDF file .") (custom-put-if-not 'ps-print-face 'custom-tag "PS Faces") (custom-put-if-not 'sha1 'custom-version "22.1") (custom-put-if-not 'sha1 'group-documentation "Elisp interface for SHA1 hash computation.") +(custom-put-if-not 'vera 'custom-version "22.2") +(custom-put-if-not 'vera 'group-documentation "Customizations for Vera Mode.") (custom-put-if-not 'net-utils 'custom-version "20.3") (custom-put-if-not 'net-utils 'group-documentation "Network utility functions.") (custom-put-if-not 'log-edit 'custom-version "21.1") @@ -945,6 +957,8 @@ the ability to filter the displayed buffers by various criteria.") (custom-put-if-not 'ebnf-production 'custom-tag "Production") (custom-put-if-not 'checkdoc 'custom-version "20.3") (custom-put-if-not 'checkdoc 'group-documentation "Support for doc string checking in Emacs Lisp.") +(custom-put-if-not 'verilog-mode 'custom-version "22.2") +(custom-put-if-not 'verilog-mode 'group-documentation "Facilitates easy editing of Verilog source text.") (custom-put-if-not 'imap 'custom-version "21.1") (custom-put-if-not 'imap 'group-documentation "Low-level IMAP issues.") (custom-put-if-not 'ebnf-repeat 'custom-version "20") @@ -957,6 +971,8 @@ the ability to filter the displayed buffers by various criteria.") (custom-put-if-not 'eudc 'group-documentation "Emacs Unified Directory Client.") (custom-put-if-not 'kmacro 'custom-version "22.1") (custom-put-if-not 'kmacro 'group-documentation "Simplified keyboard macro user interface.") +(custom-put-if-not 'socks 'custom-version "22.2") +(custom-put-if-not 'socks 'group-documentation "SOCKS Support") (custom-put-if-not 'mac 'custom-version "22.1") (custom-put-if-not 'mac 'group-documentation "Mac specific features.") (custom-put-if-not 'gnus-registry 'custom-version "22.1") @@ -998,7 +1014,7 @@ See `table-insert' for examples about how to use.") (custom-put-if-not 'ps-print-zebra 'custom-tag "Zebra") (custom-put-if-not 'mailcap 'custom-version "21.1") (custom-put-if-not 'mailcap 'group-documentation "Definition of viewers for MIME types.") -(custom-put-if-not 'printing 'custom-version "20") +(custom-put-if-not 'printing 'custom-version "22.1") (custom-put-if-not 'printing 'group-documentation "Printing Utilities group.") (custom-put-if-not 'printing 'custom-tag "Printing Utilities") (custom-put-if-not 'ls-lisp 'custom-version "21.1") @@ -1012,7 +1028,7 @@ See `table-insert' for examples about how to use.") (custom-put-if-not 'delphi 'custom-version "21.1") (custom-put-if-not 'delphi 'group-documentation "Major mode for editing Delphi source in Emacs.") -(defvar custom-versions-load-alist '(("21.2" mm-util) ("20.3.3" "dos-vars") ("20.1" time-stamp) ("21" printing) ("19.29" time-stamp) ("21.3" sql gnus-agent ange-ftp printing) ("22" ebnf2ps) ("22.0" allout) ("20.3" easymenu dabbrev ffap xscheme rmail paren mailabbrev uce which-func diary-lib sendmail debug msb avoid hexl vcursor vc compile etags browse-url add-log find-func cus-edit) ("21.1" server debug rmailedit ezimage dabbrev latin1-disp gnus-start hideshow strokes sgml-mode net-utils cperl-mode ange-ftp gnus-nocem paren fortran solar etags rmail sb-image vc-sccs vc gnus-group gnus-sum smtpmail add-log sendmail find-func wid-edit vc-rcs gnus-art nnmail message ps-print vc-cvs cus-edit gnus-agent flyspell rmailsum browse-url) ("20.4" crisp sh-script compile hilit-chg) ("20" ps-print printing ebnf2ps) ("20.8" sql) ("22.1" imenu mm-view cal-tex gnus-score smiley add-log bookmark footnote shadowfile gnus-int view hi-lock gnus-win server tcl descr-text latin1-disp fortran landmark gnus-delay tex-mode sgml-mode gnus-group sql gnus-util mail-extr sh-script hl-line make-mode mml2015 vc-cvs ielm nnimap generic-x imap gnus-soup gnus-start mml-sec comint vc-mcvs desktop locate gnus-msg compare-w info uudecode cal-dst gnus-agent spam find-dired diff-mode ange-ftp mml gnus-fun ispell gnus-spec warnings gnus smtpmail sendmail appt dabbrev pop3 smime time binhex dired rmail mm-url gdb-ui vc-svn mm-decode gnus-srvr mm-util vc pgg-def mm-uu autorevert mail-source flow-fill diary-lib iswitchb find-func gnus-art gnus-cite tls nnmail glasses deuglify calendar ffap compile starttls cus-edit gnus-sum grep keypad message)) +(defvar custom-versions-load-alist '(("21.2" mm-util) ("20.3.3" "dos-vars") ("20.1" time-stamp) ("21.3" sql gnus-agent ange-ftp) ("19.29" time-stamp) ("22" ebnf2ps) ("22.2" vc-hg bibtex-style vc-mtn gnus-sum css-mode desktop tls mail-source find-dired gdb-ui dired) ("20.3" easymenu dabbrev ffap xscheme rmail paren mailabbrev uce which-func diary-lib sendmail debug msb avoid hexl vcursor vc compile etags browse-url add-log find-func cus-edit) ("21.1" server debug rmailedit ezimage dabbrev latin1-disp gnus-start hideshow strokes sgml-mode net-utils cperl-mode ange-ftp gnus-nocem paren fortran solar etags rmail sb-image vc-sccs vc gnus-group gnus-sum smtpmail add-log sendmail find-func wid-edit vc-rcs gnus-art nnmail message ps-print vc-cvs cus-edit gnus-agent flyspell rmailsum browse-url) ("20.4" crisp sh-script compile hilit-chg) ("20" ps-print ebnf2ps) ("20.8" sql) ("22.1" imenu mm-view cal-tex gnus-srvr gnus-score smiley add-log bookmark footnote shadowfile gnus-int view hi-lock gnus-win server tcl descr-text latin1-disp fortran landmark gnus-delay tex-mode sgml-mode gnus-group sql gnus-util mail-extr sh-script hl-line make-mode mml2015 vc-cvs ielm nnimap generic-x imap gnus-soup gnus-start mml-sec comint vc-mcvs desktop locate gnus-msg compare-w info uudecode gnus-agent cal-dst spam find-dired diff-mode ange-ftp mml gnus-fun ispell gnus-spec gnus warnings smtpmail sendmail appt dabbrev pop3 smime time binhex dired rmail allout mm-url gdb-ui vc-svn mm-decode mm-util vc pgg-def mm-uu autorevert mail-source flow-fill diary-lib iswitchb gnus-art find-func gnus-cite tls nnmail glasses deuglify calendar ffap compile starttls cus-edit gnus-sum grep keypad message)) "For internal use by custom.") (provide 'cus-load) diff --git a/lisp/cus-start.el b/lisp/cus-start.el index 61f073119e7..8c95f9af65f 100644 --- a/lisp/cus-start.el +++ b/lisp/cus-start.el @@ -1,7 +1,7 @@ ;;; cus-start.el --- define customization properties of builtins ;; ;; Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; ;; Author: Per Abrahamsen ;; Keywords: internal @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -42,7 +42,7 @@ (gc-cons-threshold alloc integer) (garbage-collection-messages alloc boolean) ;; buffer.c - (mode-line-format modeline sexp) ;Hard to do right. + (mode-line-format mode-line sexp) ;Hard to do right. (default-major-mode internal function) (enable-multibyte-characters mule boolean) (case-fold-search matching boolean) @@ -98,7 +98,8 @@ Leaving \"Default\" unchecked is equivalent with specifying a default of (scroll-down-aggressively windows (choice (const :tag "off" nil) number) "21.1") - (line-spacing display (choice (const :tag "none" nil) integer)) + (line-spacing display (choice (const :tag "none" nil) integer) + "22.1") ;; callint.c (mark-even-if-inactive editing-basics boolean) ;; callproc.c @@ -122,10 +123,13 @@ Leaving \"Default\" unchecked is equivalent with specifying a default of :value (undecided . undecided) (coding-system :tag "Decoding") (coding-system :tag "Encoding")) - (coding-system :tag "Single coding system" - :value undecided) + (coding-system + :tag "Single coding system" + :value undecided + :match (lambda (widget value) + (and value (not (functionp value))))) (function :value ignore)))) - (selection-coding-system mule coding-system) + (selection-coding-system mule coding-system "22.1") ;; dired.c (completion-ignored-extensions dired (repeat (string :format "%v"))) @@ -164,6 +168,7 @@ Leaving \"Default\" unchecked is equivalent with specifying a default of ;; fns.c (use-dialog-box menu boolean "21.1") (use-file-dialog menu boolean "22.1") + (focus-follows-mouse frames boolean "20.3") ;; frame.c (default-frame-alist frames (repeat (cons :format "%v" @@ -171,7 +176,8 @@ Leaving \"Default\" unchecked is equivalent with specifying a default of (sexp :tag "Value")))) (mouse-highlight mouse (choice (const :tag "disabled" nil) (const :tag "always shown" t) - (other :tag "hidden by keypress" 1))) + (other :tag "hidden by keypress" 1)) + "22.1") ;; fringe.c (overflow-newline-into-fringe fringe boolean) ;; indent.c @@ -185,7 +191,7 @@ Leaving \"Default\" unchecked is equivalent with specifying a default of (polling-period keyboard integer) (double-click-time mouse (restricted-sexp :match-alternatives (integerp 'nil 't))) - (double-click-fuzz mouse integer) + (double-click-fuzz mouse integer "22.1") (inhibit-local-menu-bar-menus menu boolean) (help-char keyboard character) (help-event-list keyboard (repeat (sexp :format "%v"))) @@ -243,9 +249,9 @@ Leaving \"Default\" unchecked is equivalent with specifying a default of (completion-auto-help minibuffer boolean) (enable-recursive-minibuffers minibuffer boolean) (history-length minibuffer - (choice (const :tag "Infinite" t) - integer)) - (history-delete-duplicates minibuffer boolean) + (choice (const :tag "Infinite" t) integer) + "22.1") + (history-delete-duplicates minibuffer boolean "22.1") (minibuffer-prompt-properties minibuffer (list @@ -342,7 +348,7 @@ since it could result in memory overflow and make Emacs crash." windows (choice (const :tag "Off (nil)" :value nil) (const :tag "Full screen (t)" :value t) - (other :tag "Always" 1))) + (other :tag "Always" 1)) "22.1") (display-buffer-reuse-frames windows boolean "21.1") ;; xdisp.c (scroll-step windows integer) @@ -351,12 +357,12 @@ since it could result in memory overflow and make Emacs crash." (hscroll-margin windows integer "22.1") (hscroll-step windows number "22.1") (truncate-partial-width-windows display boolean) - (mode-line-inverse-video modeline boolean) - (mode-line-in-non-selected-windows modeline boolean "22.1") + (mode-line-inverse-video mode-line boolean) + (mode-line-in-non-selected-windows mode-line boolean "22.1") (line-number-display-limit display (choice integer (const :tag "No limit" nil))) - (line-number-display-limit-width display integer) + (line-number-display-limit-width display integer "22.1") (highlight-nonselected-windows display boolean) (message-log-max debug (choice (const :tag "Disable" nil) (integer :menu-tag "lines" @@ -371,7 +377,7 @@ since it could result in memory overflow and make Emacs crash." (const :tag "Immediate" :value t) (number :tag "Delay by secs" :value 0.5)) "22.1") ;; xfaces.c - (scalable-fonts-allowed display boolean) + (scalable-fonts-allowed display boolean "22.1") ;; xfns.c (x-bitmap-file-path installation (repeat (directory :format "%v"))) @@ -462,5 +468,5 @@ since it could result in memory overflow and make Emacs crash." (unless purify-flag (provide 'cus-start)) -;;; arch-tag: 4502730d-bcb3-4f5e-99a3-a86f2d54af60 +;; arch-tag: 4502730d-bcb3-4f5e-99a3-a86f2d54af60 ;;; cus-start.el ends here diff --git a/lisp/cus-theme.el b/lisp/cus-theme.el index 5dc34410815..26a61c5226c 100644 --- a/lisp/cus-theme.el +++ b/lisp/cus-theme.el @@ -1,7 +1,7 @@ ;;; cus-theme.el -- custom theme creation user interface ;; ;; Copyright (C) 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; ;; Author: Alex Schroeder ;; Maintainer: FSF @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/custom.el b/lisp/custom.el index f5028ddc0d5..1a045483491 100644 --- a/lisp/custom.el +++ b/lisp/custom.el @@ -1,7 +1,7 @@ ;;; custom.el --- tools for declaring and initializing options ;; ;; Copyright (C) 1996, 1997, 1999, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; ;; Author: Per Abrahamsen ;; Maintainer: FSF @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -642,7 +642,7 @@ this sets the local binding in that buffer instead." (funcall variable (if value 1 0)))) (defun custom-quote (sexp) - "Quote SEXP iff it is not self quoting." + "Quote SEXP if it is not self quoting." (if (or (memq sexp '(t nil)) (keywordp sexp) (and (listp sexp) @@ -665,14 +665,14 @@ default value. Otherwise, set it to nil. To actually save the value, call `custom-save-all'. -Return non-nil iff the `saved-value' property actually changed." +Return non-nil if the `saved-value' property actually changed." (custom-load-symbol symbol) (let* ((get (or (get symbol 'custom-get) 'default-value)) (value (funcall get symbol)) (saved (get symbol 'saved-value)) (standard (get symbol 'standard-value)) (comment (get symbol 'customized-variable-comment))) - ;; Save default value iff different from standard value. + ;; Save default value if different from standard value. (if (or (null standard) (not (equal value (condition-case nil (eval (car standard)) @@ -694,13 +694,13 @@ or else if it is different from the standard value, set the `customized-value' property to a list whose car evaluates to the default value. Otherwise, set it to nil. -Return non-nil iff the `customized-value' property actually changed." +Return non-nil if the `customized-value' property actually changed." (custom-load-symbol symbol) (let* ((get (or (get symbol 'custom-get) 'default-value)) (value (funcall get symbol)) (customized (get symbol 'customized-value)) (old (or (get symbol 'saved-value) (get symbol 'standard-value)))) - ;; Mark default value as set iff different from old value. + ;; Mark default value as set if different from old value. (if (not (and old (equal value (condition-case nil (eval (car old)) @@ -885,7 +885,7 @@ in SYMBOL's list property `theme-value' \(using `custom-push-theme')." (memq (get symbol 'custom-autoload) '(nil noset))) ;; This symbol needs to be autoloaded, even just for a `set'. (custom-load-symbol symbol)))) - + ;; Move minor modes and variables with explicit requires to the end. (setq args (sort args @@ -898,6 +898,8 @@ in SYMBOL's list property `theme-value' \(using `custom-push-theme')." (error "Circular custom dependency between `%s' and `%s'" sym1 sym2)) (2-then-1 nil) + ;; 1 is a dependency of 2, so needs to be set first. + (1-then-2) ;; Put minor modes and symbols with :require last. ;; Putting minor modes last ensures that the mode ;; function will see other customized values rather @@ -1092,6 +1094,7 @@ This does not include the `user' theme, which is set by Customize, and always takes precedence over other Custom Themes." :group 'customize :type '(repeat symbol) + :set-after '(custom-theme-directory) ; so we can find the themes :set (lambda (symbol themes) ;; Avoid an infinite loop when custom-enabled-themes is ;; defined in a theme (e.g. `user'). Enabling the theme sets diff --git a/lisp/cvs-status.el b/lisp/cvs-status.el index 428b2887db5..0ca24fd76b9 100644 --- a/lisp/cvs-status.el +++ b/lisp/cvs-status.el @@ -1,7 +1,7 @@ ;;; cvs-status.el --- major mode for browsing `cvs status' output -*- coding: utf-8 -*- ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Stefan Monnier ;; Keywords: pcl-cvs cvs status tree tools @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/dabbrev.el b/lisp/dabbrev.el index 3e65f056932..cac4cc27f3e 100644 --- a/lisp/dabbrev.el +++ b/lisp/dabbrev.el @@ -1,7 +1,7 @@ ;;; dabbrev.el --- dynamic abbreviation package ;; Copyright (C) 1985, 1986, 1992, 1994, 1996, 1997, 2000, 2001, 2002, -;; 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Don Morrison ;; Maintainer: Lars Lindberg @@ -13,7 +13,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/delim-col.el b/lisp/delim-col.el index 9e143dc0b09..ee15dbb353f 100644 --- a/lisp/delim-col.el +++ b/lisp/delim-col.el @@ -1,7 +1,7 @@ ;;; delim-col.el --- prettify all columns in a region or rectangle ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Vinicius Jose Latorre ;; Maintainer: Vinicius Jose Latorre @@ -13,7 +13,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/delsel.el b/lisp/delsel.el index 7028bad9ad4..bc93654b24e 100644 --- a/lisp/delsel.el +++ b/lisp/delsel.el @@ -1,7 +1,7 @@ ;;; delsel.el --- delete selection if you insert ;; Copyright (C) 1992, 1997, 1998, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Matthieu Devin ;; Maintainer: FSF @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -59,8 +59,8 @@ ;;;###autoload (define-minor-mode delete-selection-mode "Toggle Delete Selection mode. -With prefix ARG, turn Delete Selection mode on if and only if ARG is -positive. +With prefix ARG, turn Delete Selection mode on if ARG is +positive, off if ARG is not positive. When Delete Selection mode is enabled, Transient Mark mode is also enabled and typed text replaces the selection if the selection is diff --git a/lisp/descr-text.el b/lisp/descr-text.el index 8b36270f46c..1228d9ed1b4 100644 --- a/lisp/descr-text.el +++ b/lisp/descr-text.el @@ -1,7 +1,7 @@ ;;; descr-text.el --- describe text mode ;; Copyright (C) 1994, 1995, 1996, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Boris Goldowsky ;; Maintainer: FSF @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/desktop.el b/lisp/desktop.el index 92f6a448574..a042828e19c 100644 --- a/lisp/desktop.el +++ b/lisp/desktop.el @@ -1,7 +1,7 @@ ;;; desktop.el --- save partial status of Emacs when killed ;; Copyright (C) 1993, 1994, 1995, 1997, 2000, 2001, 2002, 2003, -;; 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Morten Welinder ;; Keywords: convenience @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -162,6 +162,10 @@ and function `desktop-read' for details." (define-obsolete-variable-alias 'desktop-enable 'desktop-save-mode "22.1") +(defun desktop-save-mode-off () + "Disable `desktop-save-mode'. Provided for use in hooks." + (desktop-save-mode 0)) + (defcustom desktop-save 'ask-if-new "*Specifies whether the desktop should be saved when it is killed. A desktop is killed when the user changes desktop or quits Emacs. @@ -186,6 +190,22 @@ determine where the desktop is saved." :group 'desktop :version "22.1") +(defcustom desktop-load-locked-desktop 'ask + "Specifies whether the desktop should be loaded if locked. +Possible values are: + t -- load anyway. + nil -- don't load. + ask -- ask the user. +If the value is nil, or `ask' and the user chooses not to load the desktop, +the normal hook `desktop-not-loaded-hook' is run." + :type + '(choice + (const :tag "Load anyway" t) + (const :tag "Don't load" nil) + (const :tag "Ask the user" ask)) + :group 'desktop + :version "22.2") + (defcustom desktop-base-file-name (convert-standard-filename ".emacs.desktop") "Name of file for Emacs desktop, excluding the directory part." @@ -194,6 +214,13 @@ determine where the desktop is saved." (define-obsolete-variable-alias 'desktop-basefilename 'desktop-base-file-name "22.1") +(defcustom desktop-base-lock-name + (convert-standard-filename ".emacs.desktop.lock") + "Name of lock file for Emacs desktop, excluding the directory part." + :type 'file + :group 'desktop + :version "22.2") + (defcustom desktop-path '("." "~") "List of directories to search for the desktop file. The base name of the file is specified in `desktop-base-file-name'." @@ -219,6 +246,15 @@ May be used to show a dired buffer." :group 'desktop :version "22.1") +(defcustom desktop-not-loaded-hook nil + "Normal hook run when the user declines to re-use a desktop file. +Run in the directory in which the desktop file was found. +May be used to deal with accidental multiple Emacs jobs." + :type 'hook + :group 'desktop + :options '(desktop-save-mode-off save-buffers-kill-emacs) + :version "22.2") + (defcustom desktop-after-read-hook nil "Normal hook run after a successful `desktop-read'. May be used to show a buffer list." @@ -423,7 +459,7 @@ Furthermore the major mode function must be autoloaded.") Each entry has the form (NAME RESTORE-FUNCTION). NAME is the name of the buffer-local variable indicating that the minor mode is active. RESTORE-FUNCTION is the function to activate the minor mode. -called. RESTORE-FUNCTION nil means don't try to restore the minor mode. +RESTORE-FUNCTION nil means don't try to restore the minor mode. Only minor modes for which the name of the buffer-local variable and the name of the minor mode function are different have to be added to this table. See also `desktop-minor-mode-handlers'." @@ -486,6 +522,11 @@ See also `desktop-minor-mode-table'.") DIRNAME omitted or nil means use `desktop-dirname'." (expand-file-name desktop-base-file-name (or dirname desktop-dirname))) +(defun desktop-full-lock-name (&optional dirname) + "Return the full name of the desktop lock file in DIRNAME. +DIRNAME omitted or nil means use `desktop-dirname'." + (expand-file-name desktop-base-lock-name (or dirname desktop-dirname))) + (defconst desktop-header ";; -------------------------------------------------------------------------- ;; Desktop File for Emacs @@ -495,12 +536,45 @@ DIRNAME omitted or nil means use `desktop-dirname'." (defvar desktop-delay-hook nil "Hooks run after all buffers are loaded; intended for internal use.") +;; ---------------------------------------------------------------------------- +;; Desktop file conflict detection +(defvar desktop-file-modtime nil + "When the desktop file was last modified to the knowledge of this Emacs. +Used to detect desktop file conflicts.") + +(defun desktop-owner (&optional dirname) + "Return the PID of the Emacs process that owns the desktop file in DIRNAME. +Return nil if no desktop file found or no Emacs process is using it. +DIRNAME omitted or nil means use `desktop-dirname'." + (let (owner) + (and (file-exists-p (desktop-full-lock-name dirname)) + (condition-case nil + (with-temp-buffer + (insert-file-contents-literally (desktop-full-lock-name dirname)) + (goto-char (point-min)) + (setq owner (read (current-buffer))) + (integerp owner)) + (error nil)) + owner))) + +(defun desktop-claim-lock (&optional dirname) + "Record this Emacs process as the owner of the desktop file in DIRNAME. +DIRNAME omitted or nil means use `desktop-dirname'." + (write-region (number-to-string (emacs-pid)) nil + (desktop-full-lock-name dirname))) + +(defun desktop-release-lock (&optional dirname) + "Remove the lock file for the desktop in DIRNAME. +DIRNAME omitted or nil means use `desktop-dirname'." + (let ((file (desktop-full-lock-name dirname))) + (when (file-exists-p file) (delete-file file)))) + ;; ---------------------------------------------------------------------------- (defun desktop-truncate (list n) "Truncate LIST to at most N elements destructively." (let ((here (nthcdr (1- n) list))) - (if (consp here) - (setcdr here nil)))) + (when (consp here) + (setcdr here nil)))) ;; ---------------------------------------------------------------------------- ;;;###autoload @@ -513,7 +587,7 @@ Furthermore, it clears the variables listed in `desktop-globals-to-clear'." (desktop-lazy-abort) (dolist (var desktop-globals-to-clear) (if (symbolp var) - (eval `(setq-default ,var nil)) + (eval `(setq-default ,var nil)) (eval `(setq-default ,(car var) ,(cdr var))))) (let ((buffers (buffer-list)) (preserve-regexp (concat "^\\(" @@ -552,14 +626,14 @@ is nil, ask the user where to save the desktop." (setq desktop-dirname (file-name-as-directory (expand-file-name - (call-interactively - (lambda (dir) - (interactive "DDirectory for desktop file: ") dir)))))) + (read-directory-name "Directory for desktop file: " nil nil t))))) (condition-case err - (desktop-save desktop-dirname) + (desktop-save desktop-dirname t) (file-error (unless (yes-or-no-p "Error while saving the desktop. Ignore? ") - (signal (car err) (cdr err))))))) + (signal (car err) (cdr err)))))) + ;; If we own it, we don't anymore. + (when (eq (emacs-pid) (desktop-owner)) (desktop-release-lock))) ;; ---------------------------------------------------------------------------- (defun desktop-list* (&rest args) @@ -573,6 +647,48 @@ is nil, ask the user where to save the desktop." (setq args (cdr args))) value))) +;; ---------------------------------------------------------------------------- +(defun desktop-buffer-info (buffer) + (set-buffer buffer) + (list + ;; base name of the buffer; replaces the buffer name if managed by uniquify + (and (fboundp 'uniquify-buffer-base-name) (uniquify-buffer-base-name)) + ;; basic information + (desktop-file-name (buffer-file-name) desktop-dirname) + (buffer-name) + major-mode + ;; minor modes + (let (ret) + (mapc + #'(lambda (minor-mode) + (and (boundp minor-mode) + (symbol-value minor-mode) + (let* ((special (assq minor-mode desktop-minor-mode-table)) + (value (cond (special (cadr special)) + ((functionp minor-mode) minor-mode)))) + (when value (add-to-list 'ret value))))) + (mapcar #'car minor-mode-alist)) + ret) + ;; point and mark, and read-only status + (point) + (list (mark t) mark-active) + buffer-read-only + ;; auxiliary information + (when (functionp desktop-save-buffer) + (funcall desktop-save-buffer desktop-dirname)) + ;; local variables + (let ((locals desktop-locals-to-save) + (loclist (buffer-local-variables)) + (ll)) + (while locals + (let ((here (assq (car locals) loclist))) + (if here + (setq ll (cons here ll)) + (when (member (car locals) loclist) + (setq ll (cons (car locals) ll))))) + (setq locals (cdr locals))) + ll))) + ;; ---------------------------------------------------------------------------- (defun desktop-internal-v2s (value) "Convert VALUE to a pair (QUOTE . TXT); (eval (read TXT)) gives VALUE. @@ -580,77 +696,77 @@ TXT is a string that when read and evaluated yields value. QUOTE may be `may' (value may be quoted), `must' (values must be quoted), or nil (value may not be quoted)." (cond - ((or (numberp value) (null value) (eq t value) (keywordp value)) - (cons 'may (prin1-to-string value))) - ((stringp value) - (let ((copy (copy-sequence value))) - (set-text-properties 0 (length copy) nil copy) - ;; Get rid of text properties because we cannot read them - (cons 'may (prin1-to-string copy)))) - ((symbolp value) - (cons 'must (prin1-to-string value))) - ((vectorp value) - (let* ((special nil) - (pass1 (mapcar - (lambda (el) - (let ((res (desktop-internal-v2s el))) - (if (null (car res)) - (setq special t)) - res)) - value))) - (if special - (cons nil (concat "(vector " - (mapconcat (lambda (el) - (if (eq (car el) 'must) - (concat "'" (cdr el)) - (cdr el))) - pass1 - " ") - ")")) - (cons 'may (concat "[" (mapconcat 'cdr pass1 " ") "]"))))) - ((consp value) - (let ((p value) - newlist - use-list* - anynil) - (while (consp p) - (let ((q.txt (desktop-internal-v2s (car p)))) - (or anynil (setq anynil (null (car q.txt)))) - (setq newlist (cons q.txt newlist))) - (setq p (cdr p))) - (if p - (let ((last (desktop-internal-v2s p))) - (or anynil (setq anynil (null (car last)))) - (or anynil - (setq newlist (cons '(must . ".") newlist))) - (setq use-list* t) - (setq newlist (cons last newlist)))) - (setq newlist (nreverse newlist)) - (if anynil - (cons nil - (concat (if use-list* "(desktop-list* " "(list ") - (mapconcat (lambda (el) - (if (eq (car el) 'must) - (concat "'" (cdr el)) - (cdr el))) - newlist - " ") - ")")) - (cons 'must - (concat "(" (mapconcat 'cdr newlist " ") ")"))))) - ((subrp value) - (cons nil (concat "(symbol-function '" - (substring (prin1-to-string value) 7 -1) - ")"))) - ((markerp value) - (let ((pos (prin1-to-string (marker-position value))) - (buf (prin1-to-string (buffer-name (marker-buffer value))))) - (cons nil (concat "(let ((mk (make-marker)))" - " (add-hook 'desktop-delay-hook" - " (list 'lambda '() (list 'set-marker mk " - pos " (get-buffer " buf ")))) mk)")))) - (t ; save as text - (cons 'may "\"Unprintable entity\"")))) + ((or (numberp value) (null value) (eq t value) (keywordp value)) + (cons 'may (prin1-to-string value))) + ((stringp value) + (let ((copy (copy-sequence value))) + (set-text-properties 0 (length copy) nil copy) + ;; Get rid of text properties because we cannot read them + (cons 'may (prin1-to-string copy)))) + ((symbolp value) + (cons 'must (prin1-to-string value))) + ((vectorp value) + (let* ((special nil) + (pass1 (mapcar + (lambda (el) + (let ((res (desktop-internal-v2s el))) + (if (null (car res)) + (setq special t)) + res)) + value))) + (if special + (cons nil (concat "(vector " + (mapconcat (lambda (el) + (if (eq (car el) 'must) + (concat "'" (cdr el)) + (cdr el))) + pass1 + " ") + ")")) + (cons 'may (concat "[" (mapconcat 'cdr pass1 " ") "]"))))) + ((consp value) + (let ((p value) + newlist + use-list* + anynil) + (while (consp p) + (let ((q.txt (desktop-internal-v2s (car p)))) + (or anynil (setq anynil (null (car q.txt)))) + (setq newlist (cons q.txt newlist))) + (setq p (cdr p))) + (if p + (let ((last (desktop-internal-v2s p))) + (or anynil (setq anynil (null (car last)))) + (or anynil + (setq newlist (cons '(must . ".") newlist))) + (setq use-list* t) + (setq newlist (cons last newlist)))) + (setq newlist (nreverse newlist)) + (if anynil + (cons nil + (concat (if use-list* "(desktop-list* " "(list ") + (mapconcat (lambda (el) + (if (eq (car el) 'must) + (concat "'" (cdr el)) + (cdr el))) + newlist + " ") + ")")) + (cons 'must + (concat "(" (mapconcat 'cdr newlist " ") ")"))))) + ((subrp value) + (cons nil (concat "(symbol-function '" + (substring (prin1-to-string value) 7 -1) + ")"))) + ((markerp value) + (let ((pos (prin1-to-string (marker-position value))) + (buf (prin1-to-string (buffer-name (marker-buffer value))))) + (cons nil (concat "(let ((mk (make-marker)))" + " (add-hook 'desktop-delay-hook" + " (list 'lambda '() (list 'set-marker mk " + pos " (get-buffer " buf ")))) mk)")))) + (t ; save as text + (cons 'may "\"Unprintable entity\"")))) ;; ---------------------------------------------------------------------------- (defun desktop-value-to-string (value) @@ -676,17 +792,16 @@ which means to truncate VAR's value to at most MAX-SIZE elements (if (consp varspec) (setq var (car varspec) size (cdr varspec)) (setq var varspec)) - (if (boundp var) - (progn - (if (and (integerp size) - (> size 0) - (listp (eval var))) - (desktop-truncate (eval var) size)) - (insert "(setq " - (symbol-name var) - " " - (desktop-value-to-string (symbol-value var)) - ")\n"))))) + (when (boundp var) + (when (and (integerp size) + (> size 0) + (listp (eval var))) + (desktop-truncate (eval var) size)) + (insert "(setq " + (symbol-name var) + " " + (desktop-value-to-string (symbol-value var)) + ")\n")))) ;; ---------------------------------------------------------------------------- (defun desktop-save-buffer-p (filename bufname mode &rest dummy) @@ -724,90 +839,74 @@ DIRNAME must be the directory in which the desktop file will be saved." ;; ---------------------------------------------------------------------------- ;;;###autoload -(defun desktop-save (dirname) +(defun desktop-save (dirname &optional release) "Save the desktop in a desktop file. Parameter DIRNAME specifies where to save the desktop file. +Optional parameter RELEASE says whether we're done with this desktop. See also `desktop-base-file-name'." (interactive "DDirectory to save desktop file in: ") - (run-hooks 'desktop-save-hook) - (setq dirname (file-name-as-directory (expand-file-name dirname))) + (setq desktop-dirname (file-name-as-directory (expand-file-name dirname))) (save-excursion - (let ((filename (desktop-full-file-name dirname)) - (info - (mapcar - #'(lambda (b) - (set-buffer b) - (list - (desktop-file-name (buffer-file-name) dirname) - (buffer-name) - major-mode - ;; minor modes - (let (ret) - (mapc - #'(lambda (minor-mode) - (and - (boundp minor-mode) - (symbol-value minor-mode) - (let* ((special (assq minor-mode desktop-minor-mode-table)) - (value (cond (special (cadr special)) - ((functionp minor-mode) minor-mode)))) - (when value (add-to-list 'ret value))))) - (mapcar #'car minor-mode-alist)) - ret) - (point) - (list (mark t) mark-active) - buffer-read-only - ;; Auxiliary information - (when (functionp desktop-save-buffer) - (funcall desktop-save-buffer dirname)) - (let ((locals desktop-locals-to-save) - (loclist (buffer-local-variables)) - (ll)) - (while locals - (let ((here (assq (car locals) loclist))) - (if here - (setq ll (cons here ll)) - (when (member (car locals) loclist) - (setq ll (cons (car locals) ll))))) - (setq locals (cdr locals))) - ll))) - (buffer-list))) - (eager desktop-restore-eager)) - (with-temp-buffer - (insert - ";; -*- mode: emacs-lisp; coding: emacs-mule; -*-\n" - desktop-header - ";; Created " (current-time-string) "\n" - ";; Desktop file format version " desktop-file-version "\n" - ";; Emacs version " emacs-version "\n\n" - ";; Global section:\n") - (dolist (varspec desktop-globals-to-save) - (desktop-outvar varspec)) - (if (memq 'kill-ring desktop-globals-to-save) - (insert - "(setq kill-ring-yank-pointer (nthcdr " - (int-to-string (- (length kill-ring) (length kill-ring-yank-pointer))) - " kill-ring))\n")) - - (insert "\n;; Buffer section -- buffers listed in same order as in buffer list:\n") - (dolist (l info) - (when (apply 'desktop-save-buffer-p l) - (insert "(" - (if (or (not (integerp eager)) - (unless (zerop eager) - (setq eager (1- eager)) - t)) - "desktop-create-buffer" - "desktop-append-buffer-args") - " " - desktop-file-version) - (dolist (e l) - (insert "\n " (desktop-value-to-string e))) - (insert ")\n\n"))) - (setq default-directory dirname) - (let ((coding-system-for-write 'emacs-mule)) - (write-region (point-min) (point-max) filename nil 'nomessage))))) - (setq desktop-dirname dirname)) + (let ((eager desktop-restore-eager) + (new-modtime (nth 5 (file-attributes (desktop-full-file-name))))) + (when + (or (not new-modtime) ; nothing to overwrite + (equal desktop-file-modtime new-modtime) + (yes-or-no-p (if desktop-file-modtime + (if (> (float-time new-modtime) (float-time desktop-file-modtime)) + "Desktop file is more recent than the one loaded. Save anyway? " + "Desktop file isn't the one loaded. Overwrite it? ") + "Current desktop was not loaded from a file. Overwrite this desktop file? ")) + (unless release (error "Desktop file conflict"))) + + ;; If we're done with it, release the lock. + ;; Otherwise, claim it if it's unclaimed or if we created it. + (if release + (desktop-release-lock) + (unless (and new-modtime (desktop-owner)) (desktop-claim-lock))) + + (with-temp-buffer + (insert + ";; -*- mode: emacs-lisp; coding: emacs-mule; -*-\n" + desktop-header + ";; Created " (current-time-string) "\n" + ";; Desktop file format version " desktop-file-version "\n" + ";; Emacs version " emacs-version "\n") + (save-excursion (run-hooks 'desktop-save-hook)) + (goto-char (point-max)) + (insert "\n;; Global section:\n") + (mapc (function desktop-outvar) desktop-globals-to-save) + (when (memq 'kill-ring desktop-globals-to-save) + (insert + "(setq kill-ring-yank-pointer (nthcdr " + (int-to-string (- (length kill-ring) (length kill-ring-yank-pointer))) + " kill-ring))\n")) + + (insert "\n;; Buffer section -- buffers listed in same order as in buffer list:\n") + (dolist (l (mapcar 'desktop-buffer-info (buffer-list))) + (let ((base (pop l))) + (when (apply 'desktop-save-buffer-p l) + (insert "(" + (if (or (not (integerp eager)) + (if (zerop eager) + nil + (setq eager (1- eager)))) + "desktop-create-buffer" + "desktop-append-buffer-args") + " " + desktop-file-version) + ;; If there's a non-empty base name, we save it instead of the buffer name + (when (and base (not (string= base ""))) + (setcar (nthcdr 1 l) base)) + (dolist (e l) + (insert "\n " (desktop-value-to-string e))) + (insert ")\n\n")))) + + (setq default-directory desktop-dirname) + (let ((coding-system-for-write 'emacs-mule)) + (write-region (point-min) (point-max) (desktop-full-file-name) nil 'nomessage)) + ;; We remember when it was modified (which is presumably just now). + (setq desktop-file-modtime (nth 5 (file-attributes (desktop-full-file-name))))))))) ;; ---------------------------------------------------------------------------- ;;;###autoload @@ -856,35 +955,56 @@ It returns t if a desktop file was loaded, nil otherwise." ;; Default: Home directory. "~")))) (if (file-exists-p (desktop-full-file-name)) - ;; Desktop file found, process it. - (let ((desktop-first-buffer nil) - (desktop-buffer-ok-count 0) - (desktop-buffer-fail-count 0) - ;; Avoid desktop saving during evaluation of desktop buffer. - (desktop-save nil)) - (desktop-lazy-abort) - ;; Evaluate desktop buffer. - (load (desktop-full-file-name) t t t) - ;; `desktop-create-buffer' puts buffers at end of the buffer list. - ;; We want buffers existing prior to evaluating the desktop (and not reused) - ;; to be placed at the end of the buffer list, so we move them here. - (mapc 'bury-buffer - (nreverse (cdr (memq desktop-first-buffer (nreverse (buffer-list)))))) - (switch-to-buffer (car (buffer-list))) - (run-hooks 'desktop-delay-hook) - (setq desktop-delay-hook nil) - (run-hooks 'desktop-after-read-hook) - (message "Desktop: %d buffer%s restored%s%s." - desktop-buffer-ok-count - (if (= 1 desktop-buffer-ok-count) "" "s") - (if (< 0 desktop-buffer-fail-count) - (format ", %d failed to restore" desktop-buffer-fail-count) - "") - (if desktop-buffer-args-list - (format ", %d to restore lazily" - (length desktop-buffer-args-list)) - "")) - t) + ;; Desktop file found, but is it already in use? + (let ((desktop-first-buffer nil) + (desktop-buffer-ok-count 0) + (desktop-buffer-fail-count 0) + (owner (desktop-owner)) + ;; Avoid desktop saving during evaluation of desktop buffer. + (desktop-save nil)) + (if (and owner + (memq desktop-load-locked-desktop '(nil ask)) + (or (null desktop-load-locked-desktop) + (not (y-or-n-p (format "Warning: desktop file appears to be in use by PID %s.\n\ +Using it may cause conflicts. Use it anyway? " owner))))) + (let ((default-directory desktop-dirname)) + (setq desktop-dirname nil) + (run-hooks 'desktop-not-loaded-hook) + (unless desktop-dirname + (message "Desktop file in use; not loaded."))) + (desktop-lazy-abort) + ;; Evaluate desktop buffer and remember when it was modified. + (load (desktop-full-file-name) t t t) + (setq desktop-file-modtime (nth 5 (file-attributes (desktop-full-file-name)))) + ;; If it wasn't already, mark it as in-use, to bother other + ;; desktop instances. + (unless owner + (condition-case nil + (desktop-claim-lock) + (file-error (message "Couldn't record use of desktop file") + (sit-for 1)))) + + ;; `desktop-create-buffer' puts buffers at end of the buffer list. + ;; We want buffers existing prior to evaluating the desktop (and + ;; not reused) to be placed at the end of the buffer list, so we + ;; move them here. + (mapc 'bury-buffer + (nreverse (cdr (memq desktop-first-buffer (nreverse (buffer-list)))))) + (switch-to-buffer (car (buffer-list))) + (run-hooks 'desktop-delay-hook) + (setq desktop-delay-hook nil) + (run-hooks 'desktop-after-read-hook) + (message "Desktop: %d buffer%s restored%s%s." + desktop-buffer-ok-count + (if (= 1 desktop-buffer-ok-count) "" "s") + (if (< 0 desktop-buffer-fail-count) + (format ", %d failed to restore" desktop-buffer-fail-count) + "") + (if desktop-buffer-args-list + (format ", %d to restore lazily" + (length desktop-buffer-args-list)) + "")) + t)) ;; No desktop file found. (desktop-clear) (let ((default-directory desktop-dirname)) @@ -946,28 +1066,28 @@ directory DIRNAME." desktop-buffer-name desktop-buffer-misc) "Restore a file buffer." - (if desktop-buffer-file-name - (if (or (file-exists-p desktop-buffer-file-name) - (let ((msg (format "Desktop: File \"%s\" no longer exists." - desktop-buffer-file-name))) - (if desktop-missing-file-warning - (y-or-n-p (concat msg " Re-create buffer? ")) - (message "%s" msg) - nil))) - (let* ((auto-insert nil) ; Disable auto insertion - (coding-system-for-read - (or coding-system-for-read - (cdr (assq 'buffer-file-coding-system - desktop-buffer-locals)))) - (buf (find-file-noselect desktop-buffer-file-name))) - (condition-case nil - (switch-to-buffer buf) - (error (pop-to-buffer buf))) - (and (not (eq major-mode desktop-buffer-major-mode)) - (functionp desktop-buffer-major-mode) - (funcall desktop-buffer-major-mode)) - buf) - nil))) + (when desktop-buffer-file-name + (if (or (file-exists-p desktop-buffer-file-name) + (let ((msg (format "Desktop: File \"%s\" no longer exists." + desktop-buffer-file-name))) + (if desktop-missing-file-warning + (y-or-n-p (concat msg " Re-create buffer? ")) + (message "%s" msg) + nil))) + (let* ((auto-insert nil) ; Disable auto insertion + (coding-system-for-read + (or coding-system-for-read + (cdr (assq 'buffer-file-coding-system + desktop-buffer-locals)))) + (buf (find-file-noselect desktop-buffer-file-name))) + (condition-case nil + (switch-to-buffer buf) + (error (pop-to-buffer buf))) + (and (not (eq major-mode desktop-buffer-major-mode)) + (functionp desktop-buffer-major-mode) + (funcall desktop-buffer-major-mode)) + buf) + nil))) (defun desktop-load-file (function) "Load the file where auto loaded FUNCTION is defined." @@ -1035,7 +1155,7 @@ directory DIRNAME." (setq desktop-first-buffer result)) (set-buffer result) (unless (equal (buffer-name) desktop-buffer-name) - (rename-buffer desktop-buffer-name)) + (rename-buffer desktop-buffer-name t)) ;; minor modes (cond ((equal '(t) desktop-buffer-minor-modes) ; backwards compatible (auto-fill-mode 1)) @@ -1062,19 +1182,19 @@ directory DIRNAME." (error (message "%s" (error-message-string err)) 1)))) (when desktop-buffer-mark (if (consp desktop-buffer-mark) - (progn - (set-mark (car desktop-buffer-mark)) - (setq mark-active (car (cdr desktop-buffer-mark)))) + (progn + (set-mark (car desktop-buffer-mark)) + (setq mark-active (car (cdr desktop-buffer-mark)))) (set-mark desktop-buffer-mark))) ;; Never override file system if the file really is read-only marked. - (if desktop-buffer-read-only (setq buffer-read-only desktop-buffer-read-only)) + (when desktop-buffer-read-only (setq buffer-read-only desktop-buffer-read-only)) (while desktop-buffer-locals (let ((this (car desktop-buffer-locals))) (if (consp this) - ;; an entry of this form `(symbol . value)' - (progn - (make-local-variable (car this)) - (set (car this) (cdr this))) + ;; an entry of this form `(symbol . value)' + (progn + (make-local-variable (car this)) + (set (car this) (cdr this))) ;; an entry of the form `symbol' (make-local-variable this) (makunbound this))) @@ -1170,7 +1290,9 @@ If there are no buffers left to create, kill the timer." (when (member key command-line-args) (setq command-line-args (delete key command-line-args)) (setq desktop-save-mode nil))) - (when desktop-save-mode (desktop-read)))) + (when desktop-save-mode + (desktop-read) + (setq inhibit-startup-screen t)))) (provide 'desktop) diff --git a/lisp/dframe.el b/lisp/dframe.el index eda6d45bf21..123cc7e8282 100644 --- a/lisp/dframe.el +++ b/lisp/dframe.el @@ -1,7 +1,7 @@ ;;; dframe --- dedicate frame support modes ;;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Eric M. Ludlam ;; Keywords: file, tags, tools @@ -13,7 +13,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -114,10 +114,6 @@ (defvar x-pointer-top-left-arrow) ;;; Code: -(defvar dframe-xemacsp (string-match "XEmacs" emacs-version) - "Non-nil if we are running in the XEmacs environment.") -(defvar dframe-xemacs20p (and dframe-xemacsp - (>= emacs-major-version 20))) ;; From custom web page for compatibility between versions of custom ;; with help from ptype@dera.gov.uk (Proto Type) @@ -138,27 +134,23 @@ (if (boundp 'defface) nil (defmacro defface (var values doc &rest args) - (` (progn - (defvar (, var) (quote (, var))) - ;; To make colors for your faces you need to set your .Xdefaults - ;; or set them up ahead of time in your .emacs file. - (make-face (, var)) - )))) + ;; To make colors for your faces you need to set your .Xdefaults + ;; or set them up ahead of time in your .emacs file. + `(make-face ,var) + )) (if (boundp 'defcustom) nil (defmacro defcustom (var value doc &rest args) - (` (defvar (, var) (, value) (, doc))))))) + `(defvar ,var ,value ,doc))))) ;;; Compatibility functions ;; -(if (fboundp 'frame-parameter) - - (defalias 'dframe-frame-parameter 'frame-parameter) - - (defun dframe-frame-parameter (frame parameter) - "Return FRAME's PARAMETER value." - (cdr (assoc parameter (frame-parameters frame))))) +(defalias 'dframe-frame-parameter + (if (fboundp 'frame-parameter) 'frame-parameter + (lambda (frame parameter) + "Return FRAME's PARAMETER value." + (cdr (assoc parameter (frame-parameters frame)))))) ;;; Variables @@ -178,26 +170,26 @@ "Non-nil means that timers are available for this Emacs.") (defcustom dframe-update-speed - (if dframe-xemacsp - (if dframe-xemacs20p + (if (featurep 'xemacs) + (if (>= emacs-major-version 20) 2 ; 1 is too obrusive in XEmacs 5) ; when no idleness, need long delay 1) - "*Idle time in seconds needed before dframe will update itself. + "Idle time in seconds needed before dframe will update itself. Updates occur to allow dframe to display directory information relevant to the buffer you are currently editing." :group 'dframe :type 'integer) (defcustom dframe-activity-change-focus-flag nil - "*Non-nil means the selected frame will change based on activity. + "Non-nil means the selected frame will change based on activity. Thus, if a file is selected for edit, the buffer will appear in the selected frame and the focus will change to that frame." :group 'dframe :type 'boolean) (defcustom dframe-after-select-attached-frame-hook nil - "*Hook run after dframe has selected the attached frame." + "Hook run after dframe has selected the attached frame." :group 'dframe :type 'hook) @@ -249,7 +241,7 @@ Local to those buffers, as a function called that created it.") 'dframe-switch-buffer-attached-frame map global-map) - (if dframe-xemacsp + (if (featurep 'xemacs) (progn ;; mouse bindings so we can manipulate the items on each line (define-key map 'button2 'dframe-click) @@ -257,7 +249,7 @@ Local to those buffers, as a function called that created it.") ;; Info doc fix from Bob Weiner (if (featurep 'infodoc) nil - (define-key map 'button3 'dframe-xemacs-popup-kludge)) + (define-key map 'button3 'dframe-popup-kludge)) ) ;; mouse bindings so we can manipulate the items on each line @@ -269,13 +261,13 @@ Local to those buffers, as a function called that created it.") ;; This adds a small unecessary visual effect ;;(define-key map [down-mouse-2] 'dframe-quick-mouse) - (define-key map [down-mouse-3] 'dframe-emacs-popup-kludge) + (define-key map [down-mouse-3] 'dframe-popup-kludge) ;; This lets the user scroll as if we had a scrollbar... well maybe not (define-key map [mode-line mouse-2] 'dframe-mouse-hscroll) ;; another handy place users might click to get our menu. (define-key map [mode-line down-mouse-1] - 'dframe-emacs-popup-kludge) + 'dframe-popup-kludge) ;; We can't switch buffers with the buffer mouse menu. Lets hack it. (define-key map [C-down-mouse-1] 'dframe-hack-buffer-menu) @@ -327,14 +319,12 @@ CREATE-HOOK are hooks to run after creating a frame." (run-hooks 'popup-hook) ;; Updated the buffer passed in to contain all the hacks needed ;; to make it work well in a dedicated window. - (save-excursion - (set-buffer (symbol-value buffer-var)) + (with-current-buffer (symbol-value buffer-var) ;; Declare this buffer a dedicated frame (setq dframe-controlled local-mode-fn) - (if dframe-xemacsp - ;; Hack the XEmacs mouse-motion handler - (with-no-warnings + (if (featurep 'xemacs) + (progn ;; Hack the XEmacs mouse-motion handler (set (make-local-variable 'mouse-motion-handler) 'dframe-track-mouse-xemacs) @@ -355,7 +345,7 @@ CREATE-HOOK are hooks to run after creating a frame." ;; Enable mouse tracking in emacs (if dframe-track-mouse-function (set (make-local-variable 'track-mouse) t))) ;this could be messy. -;;;; DISABLED: This causes problems for users with multiple frames. +;;;; DISABLED: This causes problems for users with multiple frames. ;;;; ;; Set this up special just for the passed in buffer ;;;; ;; Terminal minibuffer stuff does not require this. ;;;; (if (and (or (assoc 'minibuffer parameters) @@ -404,7 +394,7 @@ CREATE-HOOK are hooks to run after creating a frame." (if (frame-live-p (symbol-value frame-var)) (raise-frame (symbol-value frame-var)) (set frame-var - (if dframe-xemacsp + (if (featurep 'xemacs) ;; Only guess height if it is not specified. (if (member 'height parameters) (make-frame parameters) @@ -460,7 +450,7 @@ CREATE-HOOK are hooks to run after creating a frame." (defun dframe-reposition-frame (new-frame parent-frame location) "Move NEW-FRAME to be relative to PARENT-FRAME. LOCATION can be one of 'random, 'left, 'right, 'left-right, or 'top-bottom." - (if dframe-xemacsp + (if (featurep 'xemacs) (dframe-reposition-frame-xemacs new-frame parent-frame location) (dframe-reposition-frame-emacs new-frame parent-frame location))) @@ -570,13 +560,13 @@ LOCATION can be one of 'random, 'left-right, or 'top-bottom." (defun dframe-detach (frame-var cache-var buffer-var) "Detatch the frame in symbol FRAME-VAR. CACHE-VAR and BUFFER-VAR are symbols as in `dframe-frame-mode'" - (save-excursion - (set-buffer (symbol-value buffer-var)) + (with-current-buffer (symbol-value buffer-var) (rename-buffer (buffer-name) t) (let ((oldframe (symbol-value frame-var))) (set buffer-var nil) (set frame-var nil) (set cache-var nil) + ;; FIXME: Looks very suspicious. Luckily this function is unused. (make-variable-buffer-local frame-var) (set frame-var oldframe) ))) @@ -787,18 +777,16 @@ If NULL-ON-ERROR is a symbol, set it to nil if we cannot create a timer." If NULL-ON-ERROR is a symbol, set it to nil if we cannot create a timer." (cond ;; XEmacs - (dframe-xemacsp - (with-no-warnings + ((featurep 'xemacs) (if dframe-timer (progn (delete-itimer dframe-timer) (setq dframe-timer nil))) (if timeout - (if (and dframe-xemacsp - (or (>= emacs-major-version 21) - (and (= emacs-major-version 20) - (> emacs-minor-version 0)) - (and (= emacs-major-version 19) - (>= emacs-minor-version 15)))) + (if (or (>= emacs-major-version 21) + (and (= emacs-major-version 20) + (> emacs-minor-version 0)) + (and (= emacs-major-version 19) + (>= emacs-minor-version 15))) (setq dframe-timer (start-itimer "dframe" 'dframe-timer-fn timeout @@ -807,7 +795,7 @@ If NULL-ON-ERROR is a symbol, set it to nil if we cannot create a timer." (setq dframe-timer (start-itimer "dframe" 'dframe-timer-fn timeout - nil)))))) + nil))))) ;; Post 19.31 Emacs ((fboundp 'run-with-idle-timer) (if dframe-timer @@ -817,7 +805,7 @@ If NULL-ON-ERROR is a symbol, set it to nil if we cannot create a timer." (setq dframe-timer (run-with-idle-timer timeout t 'dframe-timer-fn)))) ;; Emacs 19.30 (Thanks twice: ptype@dra.hmg.gb) - ((fboundp 'post-command-idle-hook) + ((boundp 'post-command-idle-hook) (if timeout (add-hook 'post-command-idle-hook 'dframe-timer-fn) (remove-hook 'post-command-idle-hook 'dframe-timer-fn))) @@ -851,57 +839,58 @@ Evaluates all cached timer functions in sequence." ;; opposed to where the point happens to be.) We attain this by ;; temporarily moving the point to that place. ;; Hrvoje Niksic -(with-no-warnings -(defun dframe-xemacs-popup-kludge (event) - "Pop up a menu related to the clicked on item. +(defalias 'dframe-popup-kludge + (if (featurep 'xemacs) + (lambda (event) ; XEmacs. + "Pop up a menu related to the clicked on item. Must be bound to EVENT." - (interactive "e") - (save-excursion - (if dframe-pass-event-to-popup-mode-menu - (popup-mode-menu event) - (goto-char (event-closest-point event)) - (beginning-of-line) - (forward-char (min 5 (- (save-excursion (end-of-line) (point)) - (save-excursion (beginning-of-line) (point))))) - (popup-mode-menu)) - ;; Wait for menu to bail out. `popup-mode-menu' (and other popup - ;; menu functions) return immediately. - (let (new) - (while (not (misc-user-event-p (setq new (next-event)))) - (dispatch-event new)) - (dispatch-event new)))) -);with-no-warnings - -(defun dframe-emacs-popup-kludge (e) - "Pop up a menu related to the clicked on item. + (interactive "e") + (save-excursion + (if dframe-pass-event-to-popup-mode-menu + (popup-mode-menu event) + (goto-char (event-closest-point event)) + (beginning-of-line) + (forward-char (min 5 (- (save-excursion (end-of-line) (point)) + (save-excursion (beginning-of-line) (point))))) + (popup-mode-menu)) + ;; Wait for menu to bail out. `popup-mode-menu' (and other popup + ;; menu functions) return immediately. + (let (new) + (while (not (misc-user-event-p (setq new (next-event)))) + (dispatch-event new)) + (dispatch-event new)))) + + (lambda (e) ; Emacs. + "Pop up a menu related to the clicked on item. Must be bound to event E." - (interactive "e") - (save-excursion - (mouse-set-point e) - ;; This gets the cursor where the user can see it. - (if (not (bolp)) (forward-char -1)) - (sit-for 0) - (if (< emacs-major-version 20) - (mouse-major-mode-menu e) - (mouse-major-mode-menu e nil)))) + (interactive "e") + (save-excursion + (mouse-set-point e) + ;; This gets the cursor where the user can see it. + (if (not (bolp)) (forward-char -1)) + (sit-for 0) + (if (< emacs-major-version 20) + (mouse-major-mode-menu e) + (mouse-major-mode-menu e nil)))))) ;;; Interactive user functions for the mouse ;; -(if dframe-xemacsp - (defalias 'dframe-mouse-event-p 'button-press-event-p) - (defun dframe-mouse-event-p (event) - "Return t if the event is a mouse related event." - (if (and (listp event) - (member (event-basic-type event) - '(mouse-1 mouse-2 mouse-3))) - t - nil))) +(defalias 'dframe-mouse-event-p + (if (featurep 'xemacs) + 'button-press-event-p + (lambda (event) + "Return t if the event is a mouse related event." + (if (and (listp event) + (member (event-basic-type event) + '(mouse-1 mouse-2 mouse-3))) + t + nil)))) (defun dframe-track-mouse (event) "For motion EVENT, display info about the current line." (interactive "e") (when (and dframe-track-mouse-function - (or dframe-xemacsp ;; XEmacs always safe? + (or (featurep 'xemacs) ;; XEmacs always safe? (windowp (posn-window (event-end event))) ; Sometimes ; there is no window to jump into. )) @@ -931,19 +920,18 @@ BUFFER and POSITION are optional because XEmacs doesn't use them." (defun dframe-mouse-set-point (e) "Set POINT based on event E. Handles clicking on images in XEmacs." - (if (save-excursion - (save-window-excursion - (mouse-set-point e) - (and (fboundp 'event-over-glyph-p) (event-over-glyph-p e)))) + (if (and (featurep 'xemacs) + (save-excursion + (save-window-excursion + (mouse-set-point e) + (event-over-glyph-p e)))) ;; We are in XEmacs, and clicked on a picture - (with-no-warnings (let ((ext (event-glyph-extent e))) ;; This position is back inside the extent where the ;; junk we pushed into the property list lives. (if (extent-end-position ext) (goto-char (1- (extent-end-position ext))) (mouse-set-point e))) - );with-no-warnings ;; We are not in XEmacs, OR we didn't click on a picture. (mouse-set-point e))) @@ -1002,7 +990,7 @@ redirected into a window on the attached frame." (pop-to-buffer buffer nil) (other-window -1) ;; Fix for using this hook on some platforms: Bob Weiner - (cond ((not dframe-xemacsp) + (cond ((not (featurep 'xemacs)) (run-hooks 'temp-buffer-show-hook)) ((fboundp 'run-hook-with-args) (run-hook-with-args 'temp-buffer-show-hook buffer)) @@ -1017,8 +1005,8 @@ This hack overrides it so that the right thing happens in the main Emacs frame, not in the dedicated frame. Argument E is the event causing this activity." (interactive "e") - (let ((fn (lookup-key global-map (if dframe-xemacsp - '(control button1) + (let ((fn (lookup-key global-map (if (featurep 'xemacs) + '(control button1) [C-down-mouse-1]))) (oldbuff (current-buffer)) (newbuff nil)) diff --git a/lisp/diff-mode.el b/lisp/diff-mode.el index 3cd2fb37dbb..798f5f2e4ec 100644 --- a/lisp/diff-mode.el +++ b/lisp/diff-mode.el @@ -1,7 +1,7 @@ ;;; diff-mode.el --- a mode for viewing/editing context diffs ;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Stefan Monnier ;; Keywords: convenience patch diff @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -112,6 +112,8 @@ when editing big diffs)." ("N" . diff-file-next) ("p" . diff-hunk-prev) ("P" . diff-file-prev) + ("\t" . diff-hunk-next) + ([backtab] . diff-hunk-prev) ("k" . diff-hunk-kill) ("K" . diff-file-kill) ;; From compilation-minor-mode. @@ -164,12 +166,23 @@ when editing big diffs)." '("Diff" ["Jump to Source" diff-goto-source t] ["Apply hunk" diff-apply-hunk t] + ["Test applying hunk" diff-test-hunk t] ["Apply diff with Ediff" diff-ediff-patch t] - ["-----" nil nil] + "-----" ["Reverse direction" diff-reverse-direction t] ["Context -> Unified" diff-context->unified t] ["Unified -> Context" diff-unified->context t] ;;["Fixup Headers" diff-fixup-modifs (not buffer-read-only)] + "-----" + ["Split hunk" diff-split-hunk t] + ["Refine hunk" diff-refine-hunk t] + ["Kill current hunk" diff-hunk-kill t] + ["Kill current file's hunks" diff-file-kill t] + "-----" + ["Previous Hunk" diff-hunk-prev t] + ["Next Hunk" diff-hunk-next t] + ["Previous File" diff-file-prev t] + ["Next File" diff-file-next t] )) (defcustom diff-minor-mode-prefix "\C-c=" @@ -328,10 +341,12 @@ when editing big diffs)." (while (re-search-backward re start t) (replace-match "" t t))))))) +(defconst diff-hunk-header-re-unified + "^@@ -\\([0-9]+\\),\\([0-9]+\\) \\+\\([0-9]+\\),\\([0-9]+\\) @@") (defvar diff-font-lock-keywords - `(("^\\(@@ -[0-9,]+ \\+[0-9,]+ @@\\)\\(.*\\)$" ;unified - (1 diff-hunk-header-face) (2 diff-function-face)) + `((,(concat "\\(" diff-hunk-header-re-unified "\\)\\(.*\\)$") + (1 diff-hunk-header-face) (6 diff-function-face)) ("^\\(\\*\\{15\\}\\)\\(.*\\)$" ;context (1 diff-hunk-header-face) (2 diff-function-face)) ("^\\*\\*\\* .+ \\*\\*\\*\\*". diff-hunk-header-face) ;context @@ -368,35 +383,79 @@ when editing big diffs)." ;;;; Movement ;;;; -(defconst diff-hunk-header-re "^\\(@@ -[0-9,]+ \\+[0-9,]+ @@.*\\|\\*\\{15\\}.*\n\\*\\*\\* .+ \\*\\*\\*\\*\\|[0-9]+\\(,[0-9]+\\)?[acd][0-9]+\\(,[0-9]+\\)?\\)$") +(defvar diff-valid-unified-empty-line t + "If non-nil, empty lines are valid in unified diffs. +Some versions of diff replace all-blank context lines in unified format with +empty lines. This makes the format less robust, but is tolerated. +See http://lists.gnu.org/archive/html/emacs-devel/2007-11/msg01990.html") + +(defconst diff-hunk-header-re + (concat "^\\(?:" diff-hunk-header-re-unified ".*\\|\\*\\{15\\}.*\n\\*\\*\\* .+ \\*\\*\\*\\*\\|[0-9]+\\(,[0-9]+\\)?[acd][0-9]+\\(,[0-9]+\\)?\\)$")) (defconst diff-file-header-re (concat "^\\(--- .+\n\\+\\+\\+ \\|\\*\\*\\* .+\n--- \\|[^-+!<>0-9@* ]\\).+\n" (substring diff-hunk-header-re 1))) (defvar diff-narrowed-to nil) -(defun diff-end-of-hunk (&optional style) - (when (looking-at diff-hunk-header-re) - (unless style - ;; Especially important for unified (because headers are ambiguous). - (setq style (cdr (assq (char-after) '((?@ . unified) (?* . context)))))) - (goto-char (match-end 0))) - (let ((end (and (re-search-forward (case style - ;; A `unified' header is ambiguous. - (unified (concat "^[^-+# \\]\\|" - diff-file-header-re)) - (context "^[^-+#! \\]") - (normal "^[^<>#\\]") - (t "^[^-+#!<> \\]")) - nil t) - (match-beginning 0)))) +(defun diff-end-of-hunk (&optional style donttrustheader) + (let (end) + (when (looking-at diff-hunk-header-re) + (unless style + ;; Especially important for unified (because headers are ambiguous). + (setq style (cdr (assq (char-after) '((?@ . unified) (?* . context)))))) + (goto-char (match-end 0)) + (when (and (not donttrustheader) (match-end 2)) + (let* ((nold (string-to-number (match-string 2))) + (nnew (string-to-number (match-string 4))) + (endold + (save-excursion + (re-search-forward (if diff-valid-unified-empty-line + "^[- \n]" "^[- ]") + nil t nold) + (line-beginning-position 2))) + (endnew + ;; The hunk may end with a bunch of "+" lines, so the `end' is + ;; then further than computed above. + (save-excursion + (re-search-forward (if diff-valid-unified-empty-line + "^[+ \n]" "^[+ ]") + nil t nnew) + (line-beginning-position 2)))) + (setq end (max endold endnew))))) + ;; We may have a first evaluation of `end' thanks to the hunk header. + (unless end + (setq end (and (re-search-forward + (case style + (unified (concat (if diff-valid-unified-empty-line + "^[^-+# \\\n]\\|" "^[^-+# \\]\\|") + ;; A `unified' header is ambiguous. + diff-file-header-re)) + (context "^[^-+#! \\]") + (normal "^[^<>#\\]") + (t "^[^-+#!<> \\]")) + nil t) + (match-beginning 0))) + (when diff-valid-unified-empty-line + ;; While empty lines may be valid inside hunks, they are also likely + ;; to be unrelated to the hunk. + (goto-char (or end (point-max))) + (while (eq ?\n (char-before (1- (point)))) + (forward-char -1) + (setq end (point))))) ;; The return value is used by easy-mmode-define-navigation. (goto-char (or end (point-max))))) -(defun diff-beginning-of-hunk () +(defun diff-beginning-of-hunk (&optional try-harder) + "Move back to beginning of hunk. +If TRY-HARDER is non-nil, try to cater to the case where we're not in a hunk +but in the file header instead, in which case move forward to the first hunk." (beginning-of-line) (unless (looking-at diff-hunk-header-re) (forward-line 1) (condition-case () (re-search-backward diff-hunk-header-re) - (error (error "Can't find the beginning of the hunk"))))) + (error + (if (not try-harder) + (error "Can't find the beginning of the hunk") + (diff-beginning-of-file-and-junk) + (diff-hunk-next)))))) (defun diff-beginning-of-file () (beginning-of-line) @@ -425,7 +484,7 @@ when editing big diffs)." If the prefix ARG is given, restrict the view to the current file instead." (interactive "P") (save-excursion - (if arg (diff-beginning-of-file) (diff-beginning-of-hunk)) + (if arg (diff-beginning-of-file) (diff-beginning-of-hunk 'try-harder)) (narrow-to-region (point) (progn (if arg (diff-end-of-file) (diff-end-of-hunk)) (point))) @@ -453,20 +512,56 @@ If the prefix ARG is given, restrict the view to the current file instead." (diff-end-of-hunk) (kill-region start (point))))) +(defconst diff-file-junk-re "diff \\|index ") ; "index " is output by git-diff. + +(defun diff-beginning-of-file-and-junk () + "Go to the beginning of file-related diff-info. +This is like `diff-beginning-of-file' except it tries to skip back over leading +data such as \"Index: ...\" and such." + (let ((orig (point)) + ;; Skip forward over what might be "leading junk" so as to get + ;; closer to the actual diff. + (_ (progn (beginning-of-line) + (while (looking-at diff-file-junk-re) + (forward-line 1)))) + (start (point)) + (file (condition-case err (progn (diff-beginning-of-file) (point)) + (error err))) + ;; prevhunk is one of the limits. + (prevhunk (save-excursion (ignore-errors (diff-hunk-prev) (point)))) + err) + (when (consp file) + ;; Presumably, we started before the file header, in the leading junk. + (setq err file) + (diff-file-next) + (setq file (point))) + (let ((index (save-excursion + (forward-line 1) ;In case we're looking at "Index:". + (re-search-backward "^Index: " prevhunk t)))) + (when index (setq file index)) + (if (<= file start) + (progn + (goto-char file) + ;; Now skip backward over the leading junk we may have before the + ;; diff itself. + (while (save-excursion + (and (zerop (forward-line -1)) + (looking-at diff-file-junk-re))) + (forward-line -1))) + ;; File starts *after* the starting point: we really weren't in + ;; a file diff but elsewhere. + (goto-char orig) + (signal (car err) (cdr err)))))) + (defun diff-file-kill () "Kill current file's hunks." (interactive) - (diff-beginning-of-file) - (let* ((start (point)) - (prevhunk (save-excursion - (ignore-errors - (diff-hunk-prev) (point)))) - (index (save-excursion - (re-search-backward "^Index: " prevhunk t))) + (let ((orig (point)) + (start (progn (diff-beginning-of-file-and-junk) (point))) (inhibit-read-only t)) - (when index (setq start index)) (diff-end-of-file) (if (looking-at "^\n") (forward-char 1)) ;`tla' generates such diffs. + (if (> orig (point)) (error "Not inside a file diff")) (kill-region start (point)))) (defun diff-kill-junk () @@ -497,11 +592,11 @@ If the prefix ARG is given, restrict the view to the current file instead." (beginning-of-line) (let ((pos (point)) (start (progn (diff-beginning-of-hunk) (point)))) - (unless (looking-at "@@ -\\([0-9]+\\),[0-9]+ \\+\\([0-9]+\\),[0-9]+ @@") + (unless (looking-at diff-hunk-header-re-unified) (error "diff-split-hunk only works on unified context diffs")) (forward-line 1) (let* ((start1 (string-to-number (match-string 1))) - (start2 (string-to-number (match-string 2))) + (start2 (string-to-number (match-string 3))) (newstart1 (+ start1 (diff-count-matches "^[- \t]" (point) pos))) (newstart2 (+ start2 (diff-count-matches "^[+ \t]" (point) pos))) (inhibit-read-only t)) @@ -609,7 +704,9 @@ PREFIX is only used internally: don't use it." ((or (null files) (setq file (do* ((files files (cdr files)) (file (car files) (car files))) - ((or (null file) (file-exists-p file)) + ;; Use file-regular-p to avoid + ;; /dev/null, directories, etc. + ((or (null file) (file-regular-p file)) file)))) file)) ;; .rej patches implicitly apply to @@ -648,7 +745,7 @@ PREFIX is only used internally: don't use it." (defun diff-unified->context (start end) "Convert unified diffs to context diffs. START and END are either taken from the region (if a prefix arg is given) or -else cover the whole bufer." +else cover the whole buffer." (interactive (if (or current-prefix-arg (and transient-mark-mode mark-active)) (list (region-beginning) (region-end)) (list (point-min) (point-max)))) @@ -657,7 +754,10 @@ else cover the whole bufer." (inhibit-read-only t)) (save-excursion (goto-char start) - (while (and (re-search-forward "^\\(\\(---\\) .+\n\\(\\+\\+\\+\\) .+\\|@@ -\\([0-9]+\\),\\([0-9]+\\) \\+\\([0-9]+\\),\\([0-9]+\\) @@.*\\)$" nil t) + (while (and (re-search-forward + (concat "^\\(\\(---\\) .+\n\\(\\+\\+\\+\\) .+\\|" + diff-hunk-header-re-unified ".*\\)$") + nil t) (< (point) end)) (combine-after-change-calls (if (match-beginning 2) @@ -676,9 +776,11 @@ else cover the whole bufer." (number-to-string (+ (string-to-number line1) (string-to-number lines1) -1)) " ****")) - (forward-line 1) (save-restriction - (narrow-to-region (point) + (narrow-to-region (line-beginning-position 2) + ;; Call diff-end-of-hunk from just before + ;; the hunk header so it can use the hunk + ;; header info. (progn (diff-end-of-hunk 'unified) (point))) (let ((hunk (buffer-string))) (goto-char (point-min)) @@ -700,6 +802,8 @@ else cover the whole bufer." (?\\ (when (save-excursion (forward-line -1) (= (char-after) ?+)) (delete-region (point) last-pt) (setq modif t))) + ;; diff-valid-unified-empty-line. + (?\n (insert " ") (setq modif nil) (backward-char 2)) (t (setq modif nil)))))) (goto-char (point-max)) (save-excursion @@ -725,6 +829,8 @@ else cover the whole bufer." (?\\ (when (save-excursion (forward-line 1) (not (eobp))) (setq delete t) (setq modif t))) + ;; diff-valid-unified-empty-line. + (?\n (insert " ") (setq modif nil) (backward-char 2)) (t (setq modif nil))) (let ((last-pt (point))) (forward-line 1) @@ -810,7 +916,7 @@ With a prefix argument, convert unified format to context format." (defun diff-reverse-direction (start end) "Reverse the direction of the diffs. START and END are either taken from the region (if a prefix arg is given) or -else cover the whole bufer." +else cover the whole buffer." (interactive (if (or current-prefix-arg (and transient-mark-mode mark-active)) (list (region-beginning) (region-end)) (list (point-min) (point-max)))) @@ -866,23 +972,24 @@ else cover the whole bufer." (t (when (and first last (< first last)) (insert (delete-and-extract-region first last))) (setq first nil last nil) - (equal ?\s c))) + (memq c (if diff-valid-unified-empty-line + '(?\s ?\n) '(?\s))))) (forward-line 1)))))))))) (defun diff-fixup-modifs (start end) "Fixup the hunk headers (in case the buffer was modified). START and END are either taken from the region (if a prefix arg is given) or -else cover the whole bufer." +else cover the whole buffer." (interactive (if (or current-prefix-arg (and transient-mark-mode mark-active)) (list (region-beginning) (region-end)) (list (point-min) (point-max)))) (let ((inhibit-read-only t)) (save-excursion - (goto-char end) (diff-end-of-hunk) + (goto-char end) (diff-end-of-hunk nil 'donttrustheader) (let ((plus 0) (minus 0) (space 0) (bang 0)) (while (and (= (forward-line -1) 0) (<= start (point))) (if (not (looking-at - (concat "@@ -[0-9,]+ \\+[0-9,]+ @@" + (concat diff-hunk-header-re-unified "\\|[-*][-*][-*] [0-9,]+ [-*][-*][-*][-*]$" "\\|--- .+\n\\+\\+\\+ "))) (case (char-after) @@ -893,13 +1000,13 @@ else cover the whole bufer." ((?\\ ?#) nil) (t (setq space 0 plus 0 minus 0 bang 0))) (cond - ((looking-at "@@ -[0-9]+,\\([0-9]*\\) \\+[0-9]+,\\([0-9]*\\) @@.*$") - (let* ((old1 (match-string 1)) - (old2 (match-string 2)) + ((looking-at diff-hunk-header-re-unified) + (let* ((old1 (match-string 2)) + (old2 (match-string 4)) (new1 (number-to-string (+ space minus))) (new2 (number-to-string (+ space plus)))) - (unless (string= new2 old2) (replace-match new2 t t nil 2)) - (unless (string= new1 old1) (replace-match new1 t t nil 1)))) + (unless (string= new2 old2) (replace-match new2 t t nil 4)) + (unless (string= new1 old1) (replace-match new1 t t nil 2)))) ((looking-at "--- \\([0-9]+\\),\\([0-9]*\\) ----$") (when (> (+ space bang plus) 0) (let* ((old1 (match-string 1)) @@ -967,7 +1074,7 @@ See `after-change-functions' for the meaning of BEG, END and LEN." ;; (diff-fixup-modifs (point) (cdr diff-unhandled-changes)) (diff-beginning-of-hunk) (when (save-excursion - (diff-end-of-hunk) + (diff-end-of-hunk nil 'donttrustheader) (>= (point) (cdr diff-unhandled-changes))) (diff-fixup-modifs (point) (cdr diff-unhandled-changes))))) (setq diff-unhandled-changes nil))) @@ -1082,9 +1189,8 @@ a diff with \\[diff-reverse-direction]. Only works for unified diffs." (interactive) (while - (and (re-search-forward "^@@ [-0-9]+,\\([0-9]+\\) [+0-9]+,\\([0-9]+\\) @@" - nil t) - (equal (match-string 1) (match-string 2))))) + (and (re-search-forward diff-hunk-header-re-unified nil t) + (equal (match-string 2) (match-string 4))))) (defun diff-sanity-check-context-hunk-half (lines) (let ((count lines)) @@ -1133,25 +1239,38 @@ Only works for unified diffs." ;; A unified diff. ((eq (char-after) ?@) - (if (not (looking-at - "@@ -[0-9]+,\\([0-9]+\\) \\+[0-9]+,\\([0-9]+\\) @@")) + (if (not (looking-at diff-hunk-header-re-unified)) (error "Unrecognized unified diff hunk header format") - (let ((before (string-to-number (match-string 1))) - (after (string-to-number (match-string 2)))) + (let ((before (string-to-number (match-string 2))) + (after (string-to-number (match-string 4)))) (forward-line) (while (case (char-after) (?\s (decf before) (decf after) t) - (?- (decf before) t) + (?- + (if (and (looking-at diff-file-header-re) + (zerop before) (zerop after)) + ;; No need to query: this is a case where two patches + ;; are concatenated and only counting the lines will + ;; give the right result. Let's just add an empty + ;; line so that our code which doesn't count lines + ;; will not get confused. + (progn (save-excursion (insert "\n")) nil) + (decf before) t)) (?+ (decf after) t) (t (cond + ((and diff-valid-unified-empty-line + ;; Not just (eolp) so we don't infloop at eob. + (eq (char-after) ?\n) + (> before 0) (> after 0)) + (decf before) (decf after) t) ((and (zerop before) (zerop after)) nil) ((or (< before 0) (< after 0)) (error (if (or (zerop before) (zerop after)) "End of hunk ambiguously marked" "Hunk seriously messed up"))) - ((not (y-or-n-p "Try to auto-fix whitespace loss and word-wrap damage? ")) + ((not (y-or-n-p (concat "Try to auto-fix " (if (eolp) "whitespace loss" "word-wrap damage") "? "))) (error "Abort!")) ((eolp) (insert " ") (forward-line -1) t) (t (insert " ") @@ -1289,7 +1408,8 @@ SRC and DST are the two variants of text as returned by `diff-hunk-text'. SWITCHED is non-nil if the patch is already applied." (save-excursion (let* ((other (diff-xor other-file diff-jump-to-old-file)) - (char-offset (- (point) (progn (diff-beginning-of-hunk) (point)))) + (char-offset (- (point) (progn (diff-beginning-of-hunk 'try-harder) + (point)))) ;; Check that the hunk is well-formed. Otherwise diff-mode and ;; the user may disagree on what constitutes the hunk ;; (e.g. because an empty line truncates the hunk mid-course), @@ -1458,7 +1578,8 @@ For use in `add-log-current-defun-function'." (defun diff-refine-hunk () "Refine the current hunk by ignoring space differences." (interactive) - (let* ((char-offset (- (point) (progn (diff-beginning-of-hunk) (point)))) + (let* ((char-offset (- (point) (progn (diff-beginning-of-hunk 'try-harder) + (point)))) (opts (case (char-after) (?@ "-bu") (?* "-bc") (t "-b"))) (line-nb (and (or (looking-at "[^0-9]+\\([0-9]+\\)") (error "Can't find line number")) diff --git a/lisp/diff.el b/lisp/diff.el index 83de826bd03..eefe27e688a 100644 --- a/lisp/diff.el +++ b/lisp/diff.el @@ -1,7 +1,7 @@ ;;; diff.el --- run `diff' in compilation-mode ;; Copyright (C) 1992, 1994, 1996, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: unix, tools @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -62,7 +62,8 @@ (defun diff-sentinel (code) "Code run when the diff process exits. -CODE is the exit code of the process. It should be 0 iff no diffs were found." +CODE is the exit code of the process. It should be 0 only if no diffs +were found." (if diff-old-temp-file (delete-file diff-old-temp-file)) (if diff-new-temp-file (delete-file diff-new-temp-file)) (save-excursion diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el index 4bad556e015..8908e5ba425 100644 --- a/lisp/dired-aux.el +++ b/lisp/dired-aux.el @@ -1,7 +1,7 @@ ;;; dired-aux.el --- less commonly used parts of dired -*-byte-compile-dynamic: t;-*- ;; Copyright (C) 1985, 1986, 1992, 1994, 1998, 2000, 2001, 2002, 2003, -;; 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Sebastian Kremer . ;; Maintainer: FSF @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -37,7 +37,7 @@ ;;; Code: ;; We need macros in dired.el to compile properly. -(eval-when-compile (require 'dired)) +(require 'dired) (defvar dired-create-files-failures nil "Variable where `dired-create-files' records failing file names. @@ -1162,7 +1162,8 @@ Special value `always' suppresses confirmation." (or (eq recursive 'always) (yes-or-no-p (format "Recursive copies of %s? " from)))) ;; This is a directory. - (let ((files + (let ((mode (file-modes from)) + (files (condition-case err (directory-files from nil dired-re-no-dot) (file-error @@ -1176,7 +1177,9 @@ Special value `always' suppresses confirmation." (if (file-exists-p to) (or top (dired-handle-overwrite to)) (condition-case err - (make-directory to) + (progn + (make-directory to) + (set-file-modes to #o700)) (file-error (push (dired-make-relative from) dired-create-files-failures) @@ -1195,7 +1198,9 @@ Special value `always' suppresses confirmation." (file-error (push (dired-make-relative thisfrom) dired-create-files-failures) - (dired-log "Copying error for %s:\n%s\n" thisfrom err)))))) + (dired-log "Copying error for %s:\n%s\n" thisfrom err))))) + (when (file-directory-p to) + (set-file-modes to mode))) ;; Not a directory. (or top (dired-handle-overwrite to)) (condition-case err @@ -1203,7 +1208,7 @@ Special value `always' suppresses confirmation." ;; It is a symlink (make-symbolic-link (car attrs) to ok-flag) (copy-file from to ok-flag dired-copy-preserve-time)) - (file-date-error + (file-date-error (push (dired-make-relative from) dired-create-files-failures) (dired-log "Can't set date on %s:\n%s\n" from err)))))) @@ -2006,8 +2011,8 @@ of marked files. If KILL-ROOT is non-nil, kill DIRNAME as well." (defun dired-tree-lessp (dir1 dir2) ;; Lexicographic order on file name components, like `ls -lR': - ;; DIR1 < DIR2 iff DIR1 comes *before* DIR2 in an `ls -lR' listing, - ;; i.e., iff DIR1 is a (grand)parent dir of DIR2, + ;; DIR1 < DIR2 if DIR1 comes *before* DIR2 in an `ls -lR' listing, + ;; i.e., if DIR1 is a (grand)parent dir of DIR2, ;; or DIR1 and DIR2 are in the same parentdir and their last ;; components are string-lessp. ;; Thus ("/usr/" "/usr/bin") and ("/usr/a/" "/usr/b/") are tree-lessp. diff --git a/lisp/dired-x.el b/lisp/dired-x.el index 75b6456a5cf..3a7f1281394 100644 --- a/lisp/dired-x.el +++ b/lisp/dired-x.el @@ -8,13 +8,13 @@ ;; Keywords: dired extensions files ;; Copyright (C) 1993, 1994, 1997, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; This file is part of GNU Emacs. ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/dired.el b/lisp/dired.el index 7f6e919a109..e184b3bc0ea 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -1,7 +1,7 @@ ;;; dired.el --- directory-browsing commands ;; Copyright (C) 1985, 1986, 1992, 1993, 1994, 1995, 1996, 1997, 2000, -;; 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Sebastian Kremer ;; Maintainer: FSF @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -335,13 +335,26 @@ Subexpression 2 must end right before the \\n or \\r.") "Face name used for flagged files.") (defface dired-warning - '((t (:inherit font-lock-comment-face))) + ;; Inherit from font-lock-warning-face since with min-colors 8 + ;; font-lock-comment-face is not colored any more. + '((t (:inherit font-lock-warning-face))) "Face used to highlight a part of a buffer that needs user attention." :group 'dired-faces :version "22.1") (defvar dired-warning-face 'dired-warning "Face name used for a part of a buffer that needs user attention.") +(defface dired-perm-write + '((((type w32 pc)) :inherit default) ;; These default to rw-rw-rw. + ;; Inherit from font-lock-comment-delimiter-face since with min-colors 8 + ;; font-lock-comment-face is not colored any more. + (t (:inherit font-lock-comment-delimiter-face))) + "Face used to highlight permissions of group- and world-writable files." + :group 'dired-faces + :version "22.2") +(defvar dired-perm-write-face 'dired-perm-write + "Face name used for permissions of group- and world-writable files.") + (defface dired-directory '((t (:inherit font-lock-function-name-face))) "Face used for subdirectories." @@ -403,10 +416,10 @@ Subexpression 2 must end right before the \\n or \\r.") ;; fields with keymaps to frob the permissions, somewhat a la XEmacs. (list (concat dired-re-maybe-mark dired-re-inode-size "[-d]....\\(w\\)....") ; group writable - '(1 dired-warning-face)) + '(1 dired-perm-write-face)) (list (concat dired-re-maybe-mark dired-re-inode-size "[-d].......\\(w\\).") ; world writable - '(1 dired-warning-face)) + '(1 dired-perm-write-face)) ;; ;; Subdirectories. (list dired-re-dir @@ -1451,10 +1464,6 @@ Do so according to the former subdir alist OLD-SUBDIR-ALIST." (define-key map [menu-bar operate] (cons "Operate" (make-sparse-keymap "Operate"))) - - (define-key map [menu-bar operate dashes-2] - '("--")) - (define-key map [menu-bar operate image-dired-delete-tag] '(menu-item "Delete Image Tag..." image-dired-delete-tag @@ -2362,7 +2371,7 @@ Optional argument means return a file name relative to `default-directory'." ;; Deleting files -(defcustom dired-recursive-deletes nil ; Default only delete empty directories. +(defcustom dired-recursive-deletes 'top "*Decide whether recursive deletes are allowed. A value of nil means no recursive deletes. `always' means delete recursively without asking. This is DANGEROUS! @@ -2526,8 +2535,10 @@ deletion of non-empty directories is allowed." (if (= 1 count) "" "s")) (defun dired-mark-prompt (arg files) - ;; Return a string for use in a prompt, either the current file - ;; name, or the marker and a count of marked files. + "Return a string for use in a prompt, either the current file +name, or the marker and a count of marked files." + ;; distinguish-one-marked can cause the first element to be just t. + (if (eq (car files) t) (setq files (cdr files))) (let ((count (length files))) (if (= count 1) (car files) @@ -2551,12 +2562,12 @@ deletion of non-empty directories is allowed." (cond ;; if split-height-threshold is enabled, use the largest window ((and (> (window-height (setq w2 (get-largest-window))) split-height-threshold) - (= (frame-width) (window-width w2))) + (window-full-width-p w2)) (setq window w2)) ;; if the least-recently-used window is big enough, use it ((and (> (window-height (setq w2 (get-lru-window))) (* 2 window-min-height)) - (= (frame-width) (window-width w2))) + (window-full-width-p w2)) (setq window w2))) (save-excursion (set-buffer buf) @@ -3210,7 +3221,7 @@ To be called first in body of `dired-sort-other', etc." ;;;; Drag and drop support -(defcustom dired-recursive-copies nil +(defcustom dired-recursive-copies 'top "*Decide whether recursive copies are allowed. A value of nil means no recursive copies. `always' means copy recursively without asking. diff --git a/lisp/dirtrack.el b/lisp/dirtrack.el index 36009d16172..659a6e1d8bd 100644 --- a/lisp/dirtrack.el +++ b/lisp/dirtrack.el @@ -1,7 +1,7 @@ ;;; dirtrack.el --- Directory Tracking by watching the prompt ;; Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Peter Breton ;; Created: Sun Nov 17 1996 @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/disp-table.el b/lisp/disp-table.el index 2a4dd01897d..733de459825 100644 --- a/lisp/disp-table.el +++ b/lisp/disp-table.el @@ -1,7 +1,7 @@ ;;; disp-table.el --- functions for dealing with char tables ;; Copyright (C) 1987, 1994, 1995, 1999, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Erik Naggum ;; Based on a previous version by Howard Gayle @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/dnd.el b/lisp/dnd.el index df081539cf0..830177709cf 100644 --- a/lisp/dnd.el +++ b/lisp/dnd.el @@ -1,6 +1,6 @@ ;;; dnd.el --- drag and drop support. -;; Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Jan Dj,Ad(Brv ;; Maintainer: FSF @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -149,7 +149,7 @@ Return nil if URI is not a local file." "%[A-Fa-f0-9][A-Fa-f0-9]" (lambda (arg) (format "%c" (string-to-number (substring arg 1) 16))) - f nil t)) + f t t)) (let* ((decoded-f (decode-coding-string f (or file-name-coding-system diff --git a/lisp/dos-fns.el b/lisp/dos-fns.el index cf626185e99..ecd33f957d7 100644 --- a/lisp/dos-fns.el +++ b/lisp/dos-fns.el @@ -1,7 +1,7 @@ ;;; dos-fns.el --- MS-Dos specific functions ;; Copyright (C) 1991, 1993, 1995, 1996, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Maintainer: Morten Welinder ;; Keywords: internal @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/dos-vars.el b/lisp/dos-vars.el index f0b6c82f839..c96b3dc0cd4 100644 --- a/lisp/dos-vars.el +++ b/lisp/dos-vars.el @@ -1,7 +1,7 @@ ;;; dos-vars.el --- MS-Dos specific user options ;; Copyright (C) 1998, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: internal @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/dos-w32.el b/lisp/dos-w32.el index b1dc399418a..3a992575f4e 100644 --- a/lisp/dos-w32.el +++ b/lisp/dos-w32.el @@ -1,7 +1,7 @@ ;; dos-w32.el --- Functions shared among MS-DOS and W32 (NT/95) platforms ;; Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Maintainer: Geoff Voelker ;; Keywords: internal @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/double.el b/lisp/double.el index dc91d4be53f..30f25834cfe 100644 --- a/lisp/double.el +++ b/lisp/double.el @@ -1,7 +1,7 @@ ;;; double.el --- support for keyboard remapping with double clicking ;; Copyright (C) 1994, 1997, 1998, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Per Abrahamsen ;; Keywords: i18n @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -186,7 +186,8 @@ use either \\[customize] or the function `double-mode'." ;;;###autoload (defun double-mode (arg) "Toggle Double mode. -With prefix arg, turn Double mode on iff arg is positive. +With prefix argument ARG, turn Double mode on if ARG is positive, otherwise +turn it off. When Double mode is on, some keys will insert different strings when pressed twice. See variable `double-map' for details." diff --git a/lisp/ebuff-menu.el b/lisp/ebuff-menu.el index 9323c8133e5..4be7479719e 100644 --- a/lisp/ebuff-menu.el +++ b/lisp/ebuff-menu.el @@ -1,7 +1,7 @@ ;;; ebuff-menu.el --- electric-buffer-list mode ;; Copyright (C) 1985, 1986, 1994, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Richard Mlynarik ;; Maintainer: FSF @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/echistory.el b/lisp/echistory.el index 02fde15266f..9ba1f4a7ef1 100644 --- a/lisp/echistory.el +++ b/lisp/echistory.el @@ -1,7 +1,7 @@ ;;; echistory.el --- Electric Command History Mode ;; Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: K. Shane Hartman ;; Maintainer: FSF @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/ediff-diff.el b/lisp/ediff-diff.el index f1fbc5eea61..bdb732cf4ed 100644 --- a/lisp/ediff-diff.el +++ b/lisp/ediff-diff.el @@ -1,7 +1,7 @@ ;;; ediff-diff.el --- diff-related utilities ;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -;; 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Michael Kifer @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -867,7 +867,7 @@ one optional arguments, diff-number to refine.") (ediff-make-fine-diffs n 'noforce) (ediff-make-fine-diffs n 'skip))) - ;; highlight iff fine diffs already exist + ;; highlight if fine diffs already exist ((eq ediff-auto-refine 'off) (ediff-make-fine-diffs n 'skip)))) @@ -1459,7 +1459,7 @@ arguments to `skip-chars-forward'." (defun ediff-same-contents (d1 d2 &optional filter-re) - "Returns t iff D1 and D2 have the same content. + "Return t if D1 and D2 have the same content. D1 and D2 can either be both directories or both regular files. Symlinks and the likes are not handled. If FILTER-RE is non-nil, recursive checking in directories diff --git a/lisp/ediff-help.el b/lisp/ediff-help.el index c3aa34e3c69..9da6732d399 100644 --- a/lisp/ediff-help.el +++ b/lisp/ediff-help.el @@ -1,7 +1,7 @@ ;;; ediff-help.el --- Code related to the contents of Ediff help buffers ;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, -;; 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Michael Kifer @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/ediff-hook.el b/lisp/ediff-hook.el index 17df800acc8..b3c42916ac8 100644 --- a/lisp/ediff-hook.el +++ b/lisp/ediff-hook.el @@ -1,7 +1,7 @@ ;;; ediff-hook.el --- setup for Ediff's menus and autoloads ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, -;; 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Michael Kifer @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -261,17 +261,17 @@ () ; if dumping, autoloads are set up in loaddefs.el ;; if the user decides to load this file, set up autoloads ;; compare files and buffers - (autoload 'ediff "ediff" "Compare two files" t) - (autoload 'ediff-files "ediff" "Compare two files" t) - (autoload 'ediff-buffers "ediff" "Compare two bufers" t) - (autoload 'ebuffers "ediff" "Compare two bufers" t) - (autoload 'ediff3 "ediff" "Compare three files" t) - (autoload 'ediff-files3 "ediff" "Compare three files" t) - (autoload 'ediff-buffers3 "ediff" "Compare three bufers" t) - (autoload 'ebuffers3 "ediff" "Compare three bufers" t) - - (autoload 'erevision "ediff" "Compare versions of a file" t) - (autoload 'ediff-revision "ediff" "Compare versions of a file" t) + (autoload 'ediff "ediff" "Compare two files." t) + (autoload 'ediff-files "ediff" "Compare two files." t) + (autoload 'ediff-buffers "ediff" "Compare two buffers." t) + (autoload 'ebuffers "ediff" "Compare two buffers." t) + (autoload 'ediff3 "ediff" "Compare three files." t) + (autoload 'ediff-files3 "ediff" "Compare three files." t) + (autoload 'ediff-buffers3 "ediff" "Compare three buffers." t) + (autoload 'ebuffers3 "ediff" "Compare three buffers." t) + + (autoload 'erevision "ediff" "Compare versions of a file." t) + (autoload 'ediff-revision "ediff" "Compare versions of a file." t) ;; compare regions and windows (autoload 'ediff-windows-wordwise diff --git a/lisp/ediff-init.el b/lisp/ediff-init.el index 0ecc809797f..e669f108884 100644 --- a/lisp/ediff-init.el +++ b/lisp/ediff-init.el @@ -1,7 +1,7 @@ ;;; ediff-init.el --- Macros, variables, and defsubsts used by Ediff ;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -;; 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Michael Kifer @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -1406,7 +1406,7 @@ This property can be toggled interactively." ;;; Misc ;; if nil, this silences some messages -(defconst ediff-verbose-p t) +(defvar ediff-verbose-p t) (defcustom ediff-autostore-merges 'group-jobs-only "*Save the results of merge jobs automatically. diff --git a/lisp/ediff-merg.el b/lisp/ediff-merg.el index 79a9c48718a..278ac8301cc 100644 --- a/lisp/ediff-merg.el +++ b/lisp/ediff-merg.el @@ -1,7 +1,7 @@ ;;; ediff-merg.el --- merging utilities ;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -;; 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Michael Kifer @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/ediff-mult.el b/lisp/ediff-mult.el index 8fdd319746c..47cb0dd2436 100644 --- a/lisp/ediff-mult.el +++ b/lisp/ediff-mult.el @@ -1,7 +1,7 @@ ;;; ediff-mult.el --- support for multi-file/multi-buffer processing in Ediff ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -;; 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Michael Kifer @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/ediff-ptch.el b/lisp/ediff-ptch.el index c8a8b70f162..c1fdb88398f 100644 --- a/lisp/ediff-ptch.el +++ b/lisp/ediff-ptch.el @@ -1,7 +1,7 @@ ;;; ediff-ptch.el --- Ediff's patch support ;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, -;; 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Michael Kifer @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/ediff-util.el b/lisp/ediff-util.el index 7483128b71a..f39663c2e5b 100644 --- a/lisp/ediff-util.el +++ b/lisp/ediff-util.el @@ -1,7 +1,7 @@ ;;; ediff-util.el --- the core commands and utilities of ediff ;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -;; 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Michael Kifer @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/ediff-vers.el b/lisp/ediff-vers.el index 9bbcf99d788..10c29859f8b 100644 --- a/lisp/ediff-vers.el +++ b/lisp/ediff-vers.el @@ -1,7 +1,7 @@ ;;; ediff-vers.el --- version control interface to Ediff ;; Copyright (C) 1995, 1996, 1997, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Michael Kifer @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/ediff-wind.el b/lisp/ediff-wind.el index 829ba1051be..e791b4a4def 100644 --- a/lisp/ediff-wind.el +++ b/lisp/ediff-wind.el @@ -1,7 +1,7 @@ ;;; ediff-wind.el --- window manipulation utilities ;; Copyright (C) 1994, 1995, 1996, 1997, 2000, 2001, 2002, 2003, -;; 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Michael Kifer @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/ediff.el b/lisp/ediff.el index c5f5c48f8da..5568efe65fd 100644 --- a/lisp/ediff.el +++ b/lisp/ediff.el @@ -1,7 +1,7 @@ ;;; ediff.el --- a comprehensive visual interface to diff & patch ;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -;; 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Michael Kifer ;; Created: February 2, 1994 @@ -15,7 +15,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/edmacro.el b/lisp/edmacro.el index 0842d63836f..b43d13b594e 100644 --- a/lisp/edmacro.el +++ b/lisp/edmacro.el @@ -1,7 +1,7 @@ ;;; edmacro.el --- keyboard macro editor ;; Copyright (C) 1993, 1994, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Dave Gillespie ;; Maintainer: Dave Gillespie @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/ehelp.el b/lisp/ehelp.el index 80242ff2b03..d6193c9cf43 100644 --- a/lisp/ehelp.el +++ b/lisp/ehelp.el @@ -1,7 +1,7 @@ ;;; ehelp.el --- bindings for electric-help mode ;; Copyright (C) 1986, 1995, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: help, extensions @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/electric.el b/lisp/electric.el index f9699b29869..421ab1f3daa 100644 --- a/lisp/electric.el +++ b/lisp/electric.el @@ -1,7 +1,7 @@ ;;; electric.el --- window maker and Command loop for `electric' modes ;; Copyright (C) 1985, 1986, 1995, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: K. Shane Hartman ;; Maintainer: FSF @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/elide-head.el b/lisp/elide-head.el index dd211900345..353fef37957 100644 --- a/lisp/elide-head.el +++ b/lisp/elide-head.el @@ -1,7 +1,7 @@ ;;; elide-head.el --- hide headers in files ;; Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Dave Love ;; Keywords: outlines tools @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/advice.el b/lisp/emacs-lisp/advice.el index fe4639cf01a..4babd844cf9 100644 --- a/lisp/emacs-lisp/advice.el +++ b/lisp/emacs-lisp/advice.el @@ -1,7 +1,7 @@ ;;; advice.el --- an overloading mechanism for Emacs Lisp functions ;; Copyright (C) 1993, 1994, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Hans Chalupsky ;; Maintainer: FSF @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -2013,7 +2013,10 @@ On each iteration VAR will be bound to the name of an advised function (if (not (get 'ad-do-advised-functions 'lisp-indent-hook)) (put 'ad-do-advised-functions 'lisp-indent-hook 1)) -(defmacro ad-get-advice-info (function) +(defun ad-get-advice-info (function) + (get function 'ad-advice-info)) + +(defmacro ad-get-advice-info-macro (function) `(get ,function 'ad-advice-info)) (defmacro ad-set-advice-info (function advice-info) @@ -2025,7 +2028,7 @@ On each iteration VAR will be bound to the name of an advised function (defmacro ad-is-advised (function) "Return non-nil if FUNCTION has any advice info associated with it. This does not mean that the advice is also active." - (list 'ad-get-advice-info function)) + (list 'ad-get-advice-info-macro function)) (defun ad-initialize-advice-info (function) "Initialize the advice info for FUNCTION. @@ -2035,16 +2038,16 @@ Assumes that FUNCTION has not yet been advised." (defmacro ad-get-advice-info-field (function field) "Retrieve the value of the advice info FIELD of FUNCTION." - `(cdr (assq ,field (ad-get-advice-info ,function)))) + `(cdr (assq ,field (ad-get-advice-info-macro ,function)))) (defun ad-set-advice-info-field (function field value) "Destructively modify VALUE of the advice info FIELD of FUNCTION." (and (ad-is-advised function) - (cond ((assq field (ad-get-advice-info function)) + (cond ((assq field (ad-get-advice-info-macro function)) ;; A field with that name is already present: - (rplacd (assq field (ad-get-advice-info function)) value)) + (rplacd (assq field (ad-get-advice-info-macro function)) value)) (t;; otherwise, create a new field with that name: - (nconc (ad-get-advice-info function) + (nconc (ad-get-advice-info-macro function) (list (cons field value))))))) ;; Don't make this a macro so we can use it as a predicate: @@ -3771,7 +3774,7 @@ The syntax of `defadvice' is as follows: \(defadvice FUNCTION (CLASS NAME [POSITION] [ARGLIST] FLAG...) [DOCSTRING] [INTERACTIVE-FORM] - BODY... ) + BODY...) FUNCTION ::= Name of the function to be advised. CLASS ::= `before' | `around' | `after' | `activation' | `deactivation'. @@ -3814,7 +3817,10 @@ the advised function. `freeze' implies `activate' and `preactivate'. The documentation of the advised function can be dumped onto the `DOC' file during preloading. -See Info node `(elisp)Advising Functions' for comprehensive documentation." +See Info node `(elisp)Advising Functions' for comprehensive documentation. +usage: (defadvice FUNCTION (CLASS NAME [POSITION] [ARGLIST] FLAG...) + [DOCSTRING] [INTERACTIVE-FORM] + BODY...)" (declare (doc-string 3)) (if (not (ad-name-p function)) (error "defadvice: Invalid function name: %s" function)) diff --git a/lisp/emacs-lisp/assoc.el b/lisp/emacs-lisp/assoc.el index e2ecc544214..e68ac56f622 100644 --- a/lisp/emacs-lisp/assoc.el +++ b/lisp/emacs-lisp/assoc.el @@ -1,7 +1,7 @@ ;;; assoc.el --- insert/delete/sort functions on association lists ;; Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Barry A. Warsaw ;; Keywords: extensions @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/authors.el b/lisp/emacs-lisp/authors.el index 31464269567..6c502840c1b 100644 --- a/lisp/emacs-lisp/authors.el +++ b/lisp/emacs-lisp/authors.el @@ -1,7 +1,7 @@ ;;; authors.el --- utility for maintaining Emacs' AUTHORS file -*-coding: iso-2022-7bit;-*- ;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Gerd Moellmann ;; Maintainer: Kim F. Storm @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el index 5e37e275632..af9e82b6a4d 100644 --- a/lisp/emacs-lisp/autoload.el +++ b/lisp/emacs-lisp/autoload.el @@ -1,7 +1,7 @@ ;; autoload.el --- maintain autoloads in loaddefs.el ;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 2001, 2002, 2003, -;; 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Roland McGrath ;; Keywords: maint @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/backquote.el b/lisp/emacs-lisp/backquote.el index 766d8b38537..abf3ae8a06d 100644 --- a/lisp/emacs-lisp/backquote.el +++ b/lisp/emacs-lisp/backquote.el @@ -1,7 +1,7 @@ ;;; backquote.el --- implement the ` Lisp construct ;; Copyright (C) 1990, 1992, 1994, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Rick Sladkey ;; Maintainer: FSF @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -85,10 +85,10 @@ For example (backquote-list* 'a 'b 'c) => (a b . c)" (defconst backquote-backquote-symbol '\` "Symbol used to represent a backquote or nested backquote.") -(defconst backquote-unquote-symbol ', +(defconst backquote-unquote-symbol '\, "Symbol used to represent an unquote inside a backquote.") -(defconst backquote-splice-symbol ',@ +(defconst backquote-splice-symbol '\,@ "Symbol used to represent a splice inside a backquote.") ;;;###autoload @@ -118,10 +118,27 @@ Vectors work just like lists. Nested backquotes are permitted." ;; constant, 1 => to be unquoted, 2 => to be spliced in. ;; The top-level backquote macro just discards the tag. -(defun backquote-process (s) +(defun backquote-delay-process (s level) + "Process a (un|back|splice)quote inside a backquote. +This simply recurses through the body." + (let ((exp (backquote-listify (list (cons 0 (list 'quote (car s)))) + (backquote-process (cdr s) level)))) + (if (eq (car-safe exp) 'quote) + (cons 0 (list 'quote s)) + (cons 1 exp)))) + +(defun backquote-process (s &optional level) + "Process the body of a backquote. +S is the body. Returns a cons cell whose cdr is piece of code which +is the macro-expansion of S, and whose car is a small integer whose value +can either indicate that the code is constant (0), or not (1), or returns +a list which should be spliced into its environment (2). +LEVEL is only used internally and indicates the nesting level: +0 (the default) is for the toplevel nested inside a single backquote." + (unless level (setq level 0)) (cond ((vectorp s) - (let ((n (backquote-process (append s ())))) + (let ((n (backquote-process (append s ()) level))) (if (= (car n) 0) (cons 0 s) (cons 1 (cond @@ -138,11 +155,15 @@ Vectors work just like lists. Nested backquotes are permitted." s (list 'quote s)))) ((eq (car s) backquote-unquote-symbol) - (cons 1 (nth 1 s))) + (if (<= level 0) + (cons 1 (nth 1 s)) + (backquote-delay-process s (1- level)))) ((eq (car s) backquote-splice-symbol) - (cons 2 (nth 1 s))) + (if (<= level 0) + (cons 2 (nth 1 s)) + (backquote-delay-process s (1- level)))) ((eq (car s) backquote-backquote-symbol) - (backquote-process (cdr (backquote-process (nth 1 s))))) + (backquote-delay-process s (1+ level))) (t (let ((rest s) item firstlist list lists expression) @@ -154,11 +175,13 @@ Vectors work just like lists. Nested backquotes are permitted." ;; at the beginning, put them in FIRSTLIST, ;; as a list of tagged values (TAG . FORM). ;; If there are any at the end, they go in LIST, likewise. - (while (consp rest) - ;; Turn . (, foo) into (,@ foo). - (if (eq (car rest) backquote-unquote-symbol) - (setq rest (list (list backquote-splice-symbol (nth 1 rest))))) - (setq item (backquote-process (car rest))) + (while (and (consp rest) + ;; Stop if the cdr is an expression inside a backquote or + ;; unquote since this needs to go recursively through + ;; backquote-process. + (not (or (eq (car rest) backquote-unquote-symbol) + (eq (car rest) backquote-backquote-symbol)))) + (setq item (backquote-process (car rest) level)) (cond ((= (car item) 2) ;; Put the nonspliced items before the first spliced item @@ -168,8 +191,8 @@ Vectors work just like lists. Nested backquotes are permitted." list nil)) ;; Otherwise, put any preceding nonspliced items into LISTS. (if list - (setq lists (cons (backquote-listify list '(0 . nil)) lists))) - (setq lists (cons (cdr item) lists)) + (push (backquote-listify list '(0 . nil)) lists)) + (push (cdr item) lists) (setq list nil)) (t (setq list (cons item list)))) @@ -177,8 +200,8 @@ Vectors work just like lists. Nested backquotes are permitted." ;; Handle nonsplicing final elements, and the tail of the list ;; (which remains in REST). (if (or rest list) - (setq lists (cons (backquote-listify list (backquote-process rest)) - lists))) + (push (backquote-listify list (backquote-process rest level)) + lists)) ;; Turn LISTS into a form that produces the combined list. (setq expression (if (or (cdr lists) @@ -221,5 +244,5 @@ Vectors work just like lists. Nested backquotes are permitted." tail)) (t (cons 'list heads))))) -;;; arch-tag: 1a26206a-6b5e-4c56-8e24-2eef0f7e0e7a +;; arch-tag: 1a26206a-6b5e-4c56-8e24-2eef0f7e0e7a ;;; backquote.el ends here diff --git a/lisp/emacs-lisp/benchmark.el b/lisp/emacs-lisp/benchmark.el index 2936dd84ef5..b5a88c0d643 100644 --- a/lisp/emacs-lisp/benchmark.el +++ b/lisp/emacs-lisp/benchmark.el @@ -1,13 +1,13 @@ ;;; benchmark.el --- support for benchmarking code -;; Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Dave Love ;; Keywords: lisp, extensions ;; This file is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; This file is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/bindat.el b/lisp/emacs-lisp/bindat.el index 1e491697430..0ceba28b7e2 100644 --- a/lisp/emacs-lisp/bindat.el +++ b/lisp/emacs-lisp/bindat.el @@ -1,6 +1,6 @@ ;;; bindat.el --- binary data structure packing and unpacking. -;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Kim F. Storm ;; Assignment name: struct.el @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el index 2c9dc8e3314..d4c21e5ddb8 100644 --- a/lisp/emacs-lisp/byte-opt.el +++ b/lisp/emacs-lisp/byte-opt.el @@ -1,7 +1,7 @@ ;;; byte-opt.el --- the optimization passes of the emacs-lisp byte compiler ;; Copyright (C) 1991, 1994, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Jamie Zawinski ;; Hallvard Furuseth @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -276,6 +276,8 @@ ;; Isn't it an error for `string' not to be unibyte?? --stef (if (fboundp 'string-as-unibyte) (setq string (string-as-unibyte string))) + ;; `byte-compile-splice-in-already-compiled-code' + ;; takes care of inlining the body. (cons `(lambda ,(aref fn 0) (byte-code ,string ,(aref fn 2) ,(aref fn 3))) (cdr form))) @@ -564,7 +566,7 @@ (cons fn args))))))) (defun byte-optimize-all-constp (list) - "Non-nil iff all elements of LIST satisfy `byte-compile-constp'." + "Non-nil if all elements of LIST satisfy `byte-compile-constp'." (let ((constant t)) (while (and list constant) (unless (byte-compile-constp (car list)) @@ -1135,9 +1137,9 @@ (put 'featurep 'byte-optimizer 'byte-optimize-featurep) (defun byte-optimize-featurep (form) - ;; Emacs-21's byte-code doesn't run under XEmacs anyway, so we can - ;; safely optimize away this test. - (if (equal '((quote xemacs)) (cdr-safe form)) + ;; Emacs-21's byte-code doesn't run under XEmacs or SXEmacs anyway, so we + ;; can safely optimize away this test. + (if (member (cdr-safe form) '((quote xemacs) (quote sxemacs))) nil form)) diff --git a/lisp/emacs-lisp/byte-run.el b/lisp/emacs-lisp/byte-run.el index 84a4b39027d..ecf2ed57dac 100644 --- a/lisp/emacs-lisp/byte-run.el +++ b/lisp/emacs-lisp/byte-run.el @@ -1,7 +1,7 @@ ;;; byte-run.el --- byte-compiler support for inlining ;; Copyright (C) 1992, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Jamie Zawinski ;; Hallvard Furuseth @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -103,6 +103,12 @@ The return value of this function is not used." (eval-and-compile (put ',name 'byte-optimizer 'byte-compile-inline-expand)))) +(defmacro declare-function (&rest args) + "In Emacs 22, does nothing. In 23, it will suppress byte-compiler warnings. +This definition is so that packages may take advantage of the +Emacs 23 feature and still remain compatible with Emacs 22." + nil) + (defun make-obsolete (obsolete-name current-name &optional when) "Make the byte-compiler warn that OBSOLETE-NAME is obsolete. The warning will say that CURRENT-NAME should be used instead. @@ -221,7 +227,7 @@ In interpreted code, this is entirely equivalent to `progn'." ;; verbose t, nil byte-compile-verbose ;; optimize t, nil, source, byte byte-compile-optimize ;; warnings list of warnings byte-compile-warnings -;; Legal elements: (callargs redefine free-vars unresolved) +;; Valid elements: (callargs redefine free-vars unresolved) ;; file-format emacs18, emacs19 byte-compile-compatibility ;; ;; For example, this might appear at the top of a source file: diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index f1761c125ac..4bd94a6bc56 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -1,7 +1,7 @@ ;;; bytecomp.el --- compilation of Lisp code into byte code ;; Copyright (C) 1985, 1986, 1987, 1992, 1994, 1998, 2000, 2001, 2002, -;; 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Jamie Zawinski ;; Hallvard Furuseth @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -364,7 +364,8 @@ Elements of the list may be: (const callargs) (const redefine) (const obsolete) (const noruntime) (const cl-functions) (const interactive-only)))) -(put 'byte-compile-warnings 'safe-local-variable 'byte-compile-warnings-safe-p) +;;;###autoload(put 'byte-compile-warnings 'safe-local-variable 'byte-compile-warnings-safe-p) + ;;;###autoload (defun byte-compile-warnings-safe-p (x) (or (booleanp x) @@ -476,7 +477,8 @@ and we don't know the definition.") (defvar byte-compile-unresolved-functions nil "Alist of undefined functions to which calls have been compiled. -Used for warnings when the function is not known to be defined or is later +This variable is only significant whilst compiling an entire buffer. +Used for warnings when a function is not known to be defined or is later defined with incorrect args.") (defvar byte-compile-noruntime-functions nil @@ -972,7 +974,7 @@ Each function's symbol gets added to `byte-compile-noruntime-functions'." (pos (if (and byte-compile-current-file (integerp byte-compile-read-position)) (with-current-buffer byte-compile-current-buffer - (format "%d:%d:" + (format "%d:%d:" (save-excursion (goto-char byte-compile-last-position) (1+ (count-lines (point-min) (point-at-bol)))) @@ -1007,8 +1009,7 @@ Each function's symbol gets added to `byte-compile-noruntime-functions'." (defun byte-compile-log-file () (and (not (equal byte-compile-current-file byte-compile-last-logged-file)) (not noninteractive) - (save-excursion - (set-buffer (get-buffer-create "*Compile-Log*")) + (with-current-buffer (get-buffer-create "*Compile-Log*") (goto-char (point-max)) (let* ((inhibit-read-only t) (dir (and byte-compile-current-file @@ -1544,13 +1545,12 @@ recompile every `.el' file that already has a `.elc' file." nil (save-some-buffers) (force-mode-line-update)) - (save-current-buffer - (set-buffer (get-buffer-create "*Compile-Log*")) + (with-current-buffer (get-buffer-create "*Compile-Log*") (setq default-directory (expand-file-name directory)) ;; compilation-mode copies value of default-directory. (unless (eq major-mode 'compilation-mode) (compilation-mode)) - (let ((directories (list (expand-file-name directory))) + (let ((directories (list default-directory)) (default-directory default-directory) (skip-count 0) (fail-count 0) @@ -1647,7 +1647,7 @@ The value is non-nil if there were no errors, nil if errors." (let ((b (get-file-buffer (expand-file-name filename)))) (if (and b (buffer-modified-p b) (y-or-n-p (format "Save buffer %s first? " (buffer-name b)))) - (save-excursion (set-buffer b) (save-buffer))))) + (with-current-buffer b (save-buffer))))) ;; Force logging of the file name for each file compiled. (setq byte-compile-last-logged-file nil) @@ -1657,9 +1657,8 @@ The value is non-nil if there were no errors, nil if errors." byte-compile-dest-file) (setq target-file (byte-compile-dest-file filename)) (setq byte-compile-dest-file target-file) - (save-excursion - (setq input-buffer (get-buffer-create " *Compiler Input*")) - (set-buffer input-buffer) + (with-current-buffer + (setq input-buffer (get-buffer-create " *Compiler Input*")) (erase-buffer) (setq buffer-file-coding-system nil) ;; Always compile an Emacs Lisp file as multibyte @@ -1829,9 +1828,8 @@ With argument, insert value in current buffer after the form." ;; byte-compile-warnings)) ) (byte-compile-close-variables - (save-excursion - (setq outbuffer - (set-buffer (get-buffer-create " *Compiler Output*"))) + (with-current-buffer + (setq outbuffer (get-buffer-create " *Compiler Output*")) (set-buffer-multibyte t) (erase-buffer) ;; (emacs-lisp-mode) @@ -1845,9 +1843,13 @@ With argument, insert value in current buffer after the form." (setq overwrite-mode 'overwrite-mode-binary)) (displaying-byte-compile-warnings (and filename (byte-compile-insert-header filename inbuffer outbuffer)) - (save-excursion - (set-buffer inbuffer) + (with-current-buffer inbuffer (goto-char 1) + ;; Should we always do this? When calling multiple files, it + ;; would be useful to delay this warning until all have been + ;; compiled. A: Yes! b-c-u-f might contain dross from a + ;; previous byte-compile. + (setq byte-compile-unresolved-functions nil) ;; Compile the forms from the input buffer. (while (progn @@ -1857,18 +1859,20 @@ With argument, insert value in current buffer after the form." (not (eobp))) (setq byte-compile-read-position (point) byte-compile-last-position byte-compile-read-position) - (let ((form (read inbuffer))) + (let* ((old-style-backquotes nil) + (form (read inbuffer))) + ;; Warn about the use of old-style backquotes. + (when old-style-backquotes + (byte-compile-warn "!! The file uses old-style backquotes !! +This functionality has been obsolete for more than 10 years already +and will be removed soon. See (elisp)Backquote in the manual.")) (byte-compile-file-form form))) ;; Compile pending forms at end of file. (byte-compile-flush-pending) ;; Make warnings about unresolved functions ;; give the end of the file as their position. (setq byte-compile-last-position (point-max)) - (byte-compile-warn-about-unresolved-functions) - ;; Should we always do this? When calling multiple files, it - ;; would be useful to delay this warning until all have - ;; been compiled. - (setq byte-compile-unresolved-functions nil)) + (byte-compile-warn-about-unresolved-functions)) ;; Fix up the header at the front of the output ;; if the buffer contains multibyte characters. (and filename (byte-compile-fix-header filename inbuffer outbuffer)))) @@ -2034,6 +2038,7 @@ list that represents a doc string reference. ;; We need to examine byte-compile-dynamic-docstrings ;; in the input buffer (now current), not in the output buffer. (let ((dynamic-docstrings byte-compile-dynamic-docstrings)) + ;; FIXME: What's up with those set-buffers&prog1 thingy? --Stef (set-buffer (prog1 (current-buffer) (set-buffer outbuffer) @@ -4180,7 +4185,7 @@ Must be used only with `-batch', and kills Emacs on completion. For example, invoke `emacs -batch -f batch-byte-recompile-directory .'. Optional argument ARG is passed as second argument ARG to -`batch-recompile-directory'; see there for its possible values +`byte-recompile-directory'; see there for its possible values and corresponding effects." ;; command-line-args-left is what is left of the command line (startup.el) (defvar command-line-args-left) ;Avoid 'free variable' warning diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el index 14b9ce55d9e..bc79df485b6 100644 --- a/lisp/emacs-lisp/checkdoc.el +++ b/lisp/emacs-lisp/checkdoc.el @@ -1,7 +1,7 @@ ;;; checkdoc.el --- check documentation strings for style requirements ;; Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Eric M. Ludlam ;; Version: 0.6.2 @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -263,7 +263,7 @@ system. Possible values are: (const t))) (defvar checkdoc-ispell-lisp-words - '("alist" "emacs" "etags" "iff" "keymap" "paren" "regexp" "sexp" "xemacs") + '("alist" "emacs" "etags" "keymap" "paren" "regexp" "sexp" "xemacs") "List of words that are correct when spell-checking Lisp documentation.") (defcustom checkdoc-max-keyref-before-warn 10 @@ -1243,7 +1243,8 @@ generating a buffered list of errors." ;;;###autoload (define-minor-mode checkdoc-minor-mode "Toggle Checkdoc minor mode, a mode for checking Lisp doc strings. -With prefix ARG, turn Checkdoc minor mode on iff ARG is positive. +With prefix ARG, turn Checkdoc minor mode on if ARG is positive, otherwise +turn it off. In Checkdoc minor mode, the usual bindings for `eval-defun' which is bound to \\\\[checkdoc-eval-defun] and `checkdoc-eval-current-buffer' are overridden to include diff --git a/lisp/emacs-lisp/cl-compat.el b/lisp/emacs-lisp/cl-compat.el index c1f93e130e5..3d11214c892 100644 --- a/lisp/emacs-lisp/cl-compat.el +++ b/lisp/emacs-lisp/cl-compat.el @@ -1,7 +1,7 @@ ;;; cl-compat.el --- Common Lisp extensions for GNU Emacs Lisp (compatibility) ;; Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Dave Gillespie ;; Version: 2.02 @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el index 60c20e68b03..5e19ac1c151 100644 --- a/lisp/emacs-lisp/cl-extra.el +++ b/lisp/emacs-lisp/cl-extra.el @@ -1,7 +1,7 @@ ;;; cl-extra.el --- Common Lisp features, part 2 -*-byte-compile-dynamic: t;-*- ;; Copyright (C) 1993, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Dave Gillespie ;; Keywords: extensions @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/cl-indent.el b/lisp/emacs-lisp/cl-indent.el index 7c15af60793..7525c2e5897 100644 --- a/lisp/emacs-lisp/cl-indent.el +++ b/lisp/emacs-lisp/cl-indent.el @@ -1,7 +1,7 @@ ;;; cl-indent.el --- enhanced lisp-indent mode ;; Copyright (C) 1987, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Richard Mlynarik ;; Created: July 1987 @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/cl-loaddefs.el b/lisp/emacs-lisp/cl-loaddefs.el new file mode 100644 index 00000000000..1589e19cbb2 --- /dev/null +++ b/lisp/emacs-lisp/cl-loaddefs.el @@ -0,0 +1,1234 @@ +;;; cl-loaddefs.el --- automatically extracted autoloads +;; +;;; Code: + + +;;;### (autoloads (cl-prettyexpand cl-macroexpand-all cl-remprop +;;;;;; cl-do-remf cl-set-getf getf get* tailp list-length nreconc +;;;;;; revappend concatenate subseq cl-float-limits random-state-p +;;;;;; make-random-state random* signum rem* mod* round* truncate* +;;;;;; ceiling* floor* isqrt lcm gcd cl-progv-before cl-set-frame-visible-p +;;;;;; cl-map-overlays cl-map-intervals cl-map-keymap-recursively +;;;;;; notevery notany every some mapcon mapcan mapl maplist map +;;;;;; cl-mapcar-many equalp coerce) "cl-extra" "cl-extra.el" "47c92504dda976a632c2c10bedd4b6a4") +;;; Generated autoloads from cl-extra.el + +(autoload (quote coerce) "cl-extra" "\ +Coerce OBJECT to type TYPE. +TYPE is a Common Lisp type specifier. + +\(fn OBJECT TYPE)" nil nil) + +(autoload (quote equalp) "cl-extra" "\ +Return t if two Lisp objects have similar structures and contents. +This is like `equal', except that it accepts numerically equal +numbers of different types (float vs. integer), and also compares +strings case-insensitively. + +\(fn X Y)" nil nil) + +(autoload (quote cl-mapcar-many) "cl-extra" "\ +Not documented + +\(fn CL-FUNC CL-SEQS)" nil nil) + +(autoload (quote map) "cl-extra" "\ +Map a FUNCTION across one or more SEQUENCEs, returning a sequence. +TYPE is the sequence type to return. + +\(fn TYPE FUNCTION SEQUENCE...)" nil nil) + +(autoload (quote maplist) "cl-extra" "\ +Map FUNCTION to each sublist of LIST or LISTs. +Like `mapcar', except applies to lists and their cdr's rather than to +the elements themselves. + +\(fn FUNCTION LIST...)" nil nil) + +(autoload (quote mapl) "cl-extra" "\ +Like `maplist', but does not accumulate values returned by the function. + +\(fn FUNCTION LIST...)" nil nil) + +(autoload (quote mapcan) "cl-extra" "\ +Like `mapcar', but nconc's together the values returned by the function. + +\(fn FUNCTION SEQUENCE...)" nil nil) + +(autoload (quote mapcon) "cl-extra" "\ +Like `maplist', but nconc's together the values returned by the function. + +\(fn FUNCTION LIST...)" nil nil) + +(autoload (quote some) "cl-extra" "\ +Return true if PREDICATE is true of any element of SEQ or SEQs. +If so, return the true (non-nil) value returned by PREDICATE. + +\(fn PREDICATE SEQ...)" nil nil) + +(autoload (quote every) "cl-extra" "\ +Return true if PREDICATE is true of every element of SEQ or SEQs. + +\(fn PREDICATE SEQ...)" nil nil) + +(autoload (quote notany) "cl-extra" "\ +Return true if PREDICATE is false of every element of SEQ or SEQs. + +\(fn PREDICATE SEQ...)" nil nil) + +(autoload (quote notevery) "cl-extra" "\ +Return true if PREDICATE is false of some element of SEQ or SEQs. + +\(fn PREDICATE SEQ...)" nil nil) + +(defalias (quote cl-map-keymap) (quote map-keymap)) + +(autoload (quote cl-map-keymap-recursively) "cl-extra" "\ +Not documented + +\(fn CL-FUNC-REC CL-MAP &optional CL-BASE)" nil nil) + +(autoload (quote cl-map-intervals) "cl-extra" "\ +Not documented + +\(fn CL-FUNC &optional CL-WHAT CL-PROP CL-START CL-END)" nil nil) + +(autoload (quote cl-map-overlays) "cl-extra" "\ +Not documented + +\(fn CL-FUNC &optional CL-BUFFER CL-START CL-END CL-ARG)" nil nil) + +(autoload (quote cl-set-frame-visible-p) "cl-extra" "\ +Not documented + +\(fn FRAME VAL)" nil nil) + +(autoload (quote cl-progv-before) "cl-extra" "\ +Not documented + +\(fn SYMS VALUES)" nil nil) + +(autoload (quote gcd) "cl-extra" "\ +Return the greatest common divisor of the arguments. + +\(fn &rest ARGS)" nil nil) + +(autoload (quote lcm) "cl-extra" "\ +Return the least common multiple of the arguments. + +\(fn &rest ARGS)" nil nil) + +(autoload (quote isqrt) "cl-extra" "\ +Return the integer square root of the argument. + +\(fn X)" nil nil) + +(autoload (quote floor*) "cl-extra" "\ +Return a list of the floor of X and the fractional part of X. +With two arguments, return floor and remainder of their quotient. + +\(fn X &optional Y)" nil nil) + +(autoload (quote ceiling*) "cl-extra" "\ +Return a list of the ceiling of X and the fractional part of X. +With two arguments, return ceiling and remainder of their quotient. + +\(fn X &optional Y)" nil nil) + +(autoload (quote truncate*) "cl-extra" "\ +Return a list of the integer part of X and the fractional part of X. +With two arguments, return truncation and remainder of their quotient. + +\(fn X &optional Y)" nil nil) + +(autoload (quote round*) "cl-extra" "\ +Return a list of X rounded to the nearest integer and the remainder. +With two arguments, return rounding and remainder of their quotient. + +\(fn X &optional Y)" nil nil) + +(autoload (quote mod*) "cl-extra" "\ +The remainder of X divided by Y, with the same sign as Y. + +\(fn X Y)" nil nil) + +(autoload (quote rem*) "cl-extra" "\ +The remainder of X divided by Y, with the same sign as X. + +\(fn X Y)" nil nil) + +(autoload (quote signum) "cl-extra" "\ +Return 1 if X is positive, -1 if negative, 0 if zero. + +\(fn X)" nil nil) + +(autoload (quote random*) "cl-extra" "\ +Return a random nonnegative number less than LIM, an integer or float. +Optional second arg STATE is a random-state object. + +\(fn LIM &optional STATE)" nil nil) + +(autoload (quote make-random-state) "cl-extra" "\ +Return a copy of random-state STATE, or of `*random-state*' if omitted. +If STATE is t, return a new state object seeded from the time of day. + +\(fn &optional STATE)" nil nil) + +(autoload (quote random-state-p) "cl-extra" "\ +Return t if OBJECT is a random-state object. + +\(fn OBJECT)" nil nil) + +(autoload (quote cl-float-limits) "cl-extra" "\ +Not documented + +\(fn)" nil nil) + +(autoload (quote subseq) "cl-extra" "\ +Return the subsequence of SEQ from START to END. +If END is omitted, it defaults to the length of the sequence. +If START or END is negative, it counts from the end. + +\(fn SEQ START &optional END)" nil nil) + +(autoload (quote concatenate) "cl-extra" "\ +Concatenate, into a sequence of type TYPE, the argument SEQUENCEs. + +\(fn TYPE SEQUENCE...)" nil nil) + +(autoload (quote revappend) "cl-extra" "\ +Equivalent to (append (reverse X) Y). + +\(fn X Y)" nil nil) + +(autoload (quote nreconc) "cl-extra" "\ +Equivalent to (nconc (nreverse X) Y). + +\(fn X Y)" nil nil) + +(autoload (quote list-length) "cl-extra" "\ +Return the length of list X. Return nil if list is circular. + +\(fn X)" nil nil) + +(autoload (quote tailp) "cl-extra" "\ +Return true if SUBLIST is a tail of LIST. + +\(fn SUBLIST LIST)" nil nil) + +(autoload (quote get*) "cl-extra" "\ +Return the value of SYMBOL's PROPNAME property, or DEFAULT if none. + +\(fn SYMBOL PROPNAME &optional DEFAULT)" nil nil) + +(autoload (quote getf) "cl-extra" "\ +Search PROPLIST for property PROPNAME; return its value or DEFAULT. +PROPLIST is a list of the sort returned by `symbol-plist'. + +\(fn PROPLIST PROPNAME &optional DEFAULT)" nil nil) + +(autoload (quote cl-set-getf) "cl-extra" "\ +Not documented + +\(fn PLIST TAG VAL)" nil nil) + +(autoload (quote cl-do-remf) "cl-extra" "\ +Not documented + +\(fn PLIST TAG)" nil nil) + +(autoload (quote cl-remprop) "cl-extra" "\ +Remove from SYMBOL's plist the property PROPNAME and its value. + +\(fn SYMBOL PROPNAME)" nil nil) + +(defalias (quote remprop) (quote cl-remprop)) + +(defalias (quote cl-gethash) (quote gethash)) + +(defalias (quote cl-puthash) (quote puthash)) + +(defalias (quote cl-remhash) (quote remhash)) + +(defalias (quote cl-clrhash) (quote clrhash)) + +(defalias (quote cl-maphash) (quote maphash)) + +(defalias (quote cl-make-hash-table) (quote make-hash-table)) + +(defalias (quote cl-hash-table-p) (quote hash-table-p)) + +(defalias (quote cl-hash-table-count) (quote hash-table-count)) + +(autoload (quote cl-macroexpand-all) "cl-extra" "\ +Expand all macro calls through a Lisp FORM. +This also does some trivial optimizations to make the form prettier. + +\(fn FORM &optional ENV)" nil nil) + +(autoload (quote cl-prettyexpand) "cl-extra" "\ +Not documented + +\(fn FORM &optional FULL)" nil nil) + +;;;*** + +;;;### (autoloads (compiler-macroexpand define-compiler-macro ignore-errors +;;;;;; assert check-type typep cl-struct-setf-expander defstruct +;;;;;; define-modify-macro callf2 callf letf* letf rotatef shiftf +;;;;;; remf cl-do-pop psetf setf get-setf-method defsetf define-setf-method +;;;;;; declare the locally multiple-value-setq multiple-value-bind +;;;;;; lexical-let* lexical-let symbol-macrolet macrolet labels +;;;;;; flet progv psetq do-all-symbols do-symbols dotimes dolist +;;;;;; do* do loop return-from return block etypecase typecase ecase +;;;;;; case load-time-value eval-when destructuring-bind function* +;;;;;; defmacro* defun* gentemp gensym cl-compile-time-init) "cl-macs" +;;;;;; "cl-macs.el" "7ccc827d272482ca276937ca18a7895a") +;;; Generated autoloads from cl-macs.el + +(autoload (quote cl-compile-time-init) "cl-macs" "\ +Not documented + +\(fn)" nil nil) + +(autoload (quote gensym) "cl-macs" "\ +Generate a new uninterned symbol. +The name is made by appending a number to PREFIX, default \"G\". + +\(fn &optional PREFIX)" nil nil) + +(autoload (quote gentemp) "cl-macs" "\ +Generate a new interned symbol with a unique name. +The name is made by appending a number to PREFIX, default \"G\". + +\(fn &optional PREFIX)" nil nil) + +(autoload (quote defun*) "cl-macs" "\ +Define NAME as a function. +Like normal `defun', except ARGLIST allows full Common Lisp conventions, +and BODY is implicitly surrounded by (block NAME ...). + +\(fn NAME ARGLIST [DOCSTRING] BODY...)" nil (quote macro)) + +(autoload (quote defmacro*) "cl-macs" "\ +Define NAME as a macro. +Like normal `defmacro', except ARGLIST allows full Common Lisp conventions, +and BODY is implicitly surrounded by (block NAME ...). + +\(fn NAME ARGLIST [DOCSTRING] BODY...)" nil (quote macro)) + +(autoload (quote function*) "cl-macs" "\ +Introduce a function. +Like normal `function', except that if argument is a lambda form, +its argument list allows full Common Lisp conventions. + +\(fn FUNC)" nil (quote macro)) + +(autoload (quote destructuring-bind) "cl-macs" "\ +Not documented + +\(fn ARGS EXPR &rest BODY)" nil (quote macro)) + +(autoload (quote eval-when) "cl-macs" "\ +Control when BODY is evaluated. +If `compile' is in WHEN, BODY is evaluated when compiled at top-level. +If `load' is in WHEN, BODY is evaluated when loaded after top-level compile. +If `eval' is in WHEN, BODY is evaluated when interpreted or at non-top-level. + +\(fn (WHEN...) BODY...)" nil (quote macro)) + +(autoload (quote load-time-value) "cl-macs" "\ +Like `progn', but evaluates the body at load time. +The result of the body appears to the compiler as a quoted constant. + +\(fn FORM &optional READ-ONLY)" nil (quote macro)) + +(autoload (quote case) "cl-macs" "\ +Eval EXPR and choose among clauses on that value. +Each clause looks like (KEYLIST BODY...). EXPR is evaluated and compared +against each key in each KEYLIST; the corresponding BODY is evaluated. +If no clause succeeds, case returns nil. A single atom may be used in +place of a KEYLIST of one atom. A KEYLIST of t or `otherwise' is +allowed only in the final clause, and matches if no other keys match. +Key values are compared by `eql'. + +\(fn EXPR (KEYLIST BODY...)...)" nil (quote macro)) + +(autoload (quote ecase) "cl-macs" "\ +Like `case', but error if no case fits. +`otherwise'-clauses are not allowed. + +\(fn EXPR (KEYLIST BODY...)...)" nil (quote macro)) + +(autoload (quote typecase) "cl-macs" "\ +Evals EXPR, chooses among clauses on that value. +Each clause looks like (TYPE BODY...). EXPR is evaluated and, if it +satisfies TYPE, the corresponding BODY is evaluated. If no clause succeeds, +typecase returns nil. A TYPE of t or `otherwise' is allowed only in the +final clause, and matches if no other keys match. + +\(fn EXPR (TYPE BODY...)...)" nil (quote macro)) + +(autoload (quote etypecase) "cl-macs" "\ +Like `typecase', but error if no case fits. +`otherwise'-clauses are not allowed. + +\(fn EXPR (TYPE BODY...)...)" nil (quote macro)) + +(autoload (quote block) "cl-macs" "\ +Define a lexically-scoped block named NAME. +NAME may be any symbol. Code inside the BODY forms can call `return-from' +to jump prematurely out of the block. This differs from `catch' and `throw' +in two respects: First, the NAME is an unevaluated symbol rather than a +quoted symbol or other form; and second, NAME is lexically rather than +dynamically scoped: Only references to it within BODY will work. These +references may appear inside macro expansions, but not inside functions +called from BODY. + +\(fn NAME &rest BODY)" nil (quote macro)) + +(autoload (quote return) "cl-macs" "\ +Return from the block named nil. +This is equivalent to `(return-from nil RESULT)'. + +\(fn &optional RESULT)" nil (quote macro)) + +(autoload (quote return-from) "cl-macs" "\ +Return from the block named NAME. +This jump out to the innermost enclosing `(block NAME ...)' form, +returning RESULT from that form (or nil if RESULT is omitted). +This is compatible with Common Lisp, but note that `defun' and +`defmacro' do not create implicit blocks as they do in Common Lisp. + +\(fn NAME &optional RESULT)" nil (quote macro)) + +(autoload (quote loop) "cl-macs" "\ +The Common Lisp `loop' macro. +Valid clauses are: + for VAR from/upfrom/downfrom NUM to/upto/downto/above/below NUM by NUM, + for VAR in LIST by FUNC, for VAR on LIST by FUNC, for VAR = INIT then EXPR, + for VAR across ARRAY, repeat NUM, with VAR = INIT, while COND, until COND, + always COND, never COND, thereis COND, collect EXPR into VAR, + append EXPR into VAR, nconc EXPR into VAR, sum EXPR into VAR, + count EXPR into VAR, maximize EXPR into VAR, minimize EXPR into VAR, + if COND CLAUSE [and CLAUSE]... else CLAUSE [and CLAUSE...], + unless COND CLAUSE [and CLAUSE]... else CLAUSE [and CLAUSE...], + do EXPRS..., initially EXPRS..., finally EXPRS..., return EXPR, + finally return EXPR, named NAME. + +\(fn CLAUSE...)" nil (quote macro)) + +(autoload (quote do) "cl-macs" "\ +The Common Lisp `do' loop. + +\(fn ((VAR INIT [STEP])...) (END-TEST [RESULT...]) BODY...)" nil (quote macro)) + +(autoload (quote do*) "cl-macs" "\ +The Common Lisp `do*' loop. + +\(fn ((VAR INIT [STEP])...) (END-TEST [RESULT...]) BODY...)" nil (quote macro)) + +(autoload (quote dolist) "cl-macs" "\ +Loop over a list. +Evaluate BODY with VAR bound to each `car' from LIST, in turn. +Then evaluate RESULT to get return value, default nil. + +\(fn (VAR LIST [RESULT]) BODY...)" nil (quote macro)) + +(autoload (quote dotimes) "cl-macs" "\ +Loop a certain number of times. +Evaluate BODY with VAR bound to successive integers from 0, inclusive, +to COUNT, exclusive. Then evaluate RESULT to get return value, default +nil. + +\(fn (VAR COUNT [RESULT]) BODY...)" nil (quote macro)) + +(autoload (quote do-symbols) "cl-macs" "\ +Loop over all symbols. +Evaluate BODY with VAR bound to each interned symbol, or to each symbol +from OBARRAY. + +\(fn (VAR [OBARRAY [RESULT]]) BODY...)" nil (quote macro)) + +(autoload (quote do-all-symbols) "cl-macs" "\ +Not documented + +\(fn SPEC &rest BODY)" nil (quote macro)) + +(autoload (quote psetq) "cl-macs" "\ +Set SYMs to the values VALs in parallel. +This is like `setq', except that all VAL forms are evaluated (in order) +before assigning any symbols SYM to the corresponding values. + +\(fn SYM VAL SYM VAL ...)" nil (quote macro)) + +(autoload (quote progv) "cl-macs" "\ +Bind SYMBOLS to VALUES dynamically in BODY. +The forms SYMBOLS and VALUES are evaluated, and must evaluate to lists. +Each symbol in the first list is bound to the corresponding value in the +second list (or made unbound if VALUES is shorter than SYMBOLS); then the +BODY forms are executed and their result is returned. This is much like +a `let' form, except that the list of symbols can be computed at run-time. + +\(fn SYMBOLS VALUES &rest BODY)" nil (quote macro)) + +(autoload (quote flet) "cl-macs" "\ +Make temporary function definitions. +This is an analogue of `let' that operates on the function cell of FUNC +rather than its value cell. The FORMs are evaluated with the specified +function definitions in place, then the definitions are undone (the FUNCs +go back to their previous definitions, or lack thereof). + +\(fn ((FUNC ARGLIST BODY...) ...) FORM...)" nil (quote macro)) + +(autoload (quote labels) "cl-macs" "\ +Make temporary function bindings. +This is like `flet', except the bindings are lexical instead of dynamic. +Unlike `flet', this macro is fully compliant with the Common Lisp standard. + +\(fn ((FUNC ARGLIST BODY...) ...) FORM...)" nil (quote macro)) + +(autoload (quote macrolet) "cl-macs" "\ +Make temporary macro definitions. +This is like `flet', but for macros instead of functions. + +\(fn ((NAME ARGLIST BODY...) ...) FORM...)" nil (quote macro)) + +(autoload (quote symbol-macrolet) "cl-macs" "\ +Make symbol macro definitions. +Within the body FORMs, references to the variable NAME will be replaced +by EXPANSION, and (setq NAME ...) will act like (setf EXPANSION ...). + +\(fn ((NAME EXPANSION) ...) FORM...)" nil (quote macro)) + +(autoload (quote lexical-let) "cl-macs" "\ +Like `let', but lexically scoped. +The main visible difference is that lambdas inside BODY will create +lexical closures as in Common Lisp. + +\(fn VARLIST BODY)" nil (quote macro)) + +(autoload (quote lexical-let*) "cl-macs" "\ +Like `let*', but lexically scoped. +The main visible difference is that lambdas inside BODY will create +lexical closures as in Common Lisp. + +\(fn VARLIST BODY)" nil (quote macro)) + +(autoload (quote multiple-value-bind) "cl-macs" "\ +Collect multiple return values. +FORM must return a list; the BODY is then executed with the first N elements +of this list bound (`let'-style) to each of the symbols SYM in turn. This +is analogous to the Common Lisp `multiple-value-bind' macro, using lists to +simulate true multiple return values. For compatibility, (values A B C) is +a synonym for (list A B C). + +\(fn (SYM...) FORM BODY)" nil (quote macro)) + +(autoload (quote multiple-value-setq) "cl-macs" "\ +Collect multiple return values. +FORM must return a list; the first N elements of this list are stored in +each of the symbols SYM in turn. This is analogous to the Common Lisp +`multiple-value-setq' macro, using lists to simulate true multiple return +values. For compatibility, (values A B C) is a synonym for (list A B C). + +\(fn (SYM...) FORM)" nil (quote macro)) + +(autoload (quote locally) "cl-macs" "\ +Not documented + +\(fn &rest BODY)" nil (quote macro)) + +(autoload (quote the) "cl-macs" "\ +Not documented + +\(fn TYPE FORM)" nil (quote macro)) + +(autoload (quote declare) "cl-macs" "\ +Not documented + +\(fn &rest SPECS)" nil (quote macro)) + +(autoload (quote define-setf-method) "cl-macs" "\ +Define a `setf' method. +This method shows how to handle `setf's to places of the form (NAME ARGS...). +The argument forms ARGS are bound according to ARGLIST, as if NAME were +going to be expanded as a macro, then the BODY forms are executed and must +return a list of five elements: a temporary-variables list, a value-forms +list, a store-variables list (of length one), a store-form, and an access- +form. See `defsetf' for a simpler way to define most setf-methods. + +\(fn NAME ARGLIST BODY...)" nil (quote macro)) + +(autoload (quote defsetf) "cl-macs" "\ +Define a `setf' method. +This macro is an easy-to-use substitute for `define-setf-method' that works +well for simple place forms. In the simple `defsetf' form, `setf's of +the form (setf (NAME ARGS...) VAL) are transformed to function or macro +calls of the form (FUNC ARGS... VAL). Example: + + (defsetf aref aset) + +Alternate form: (defsetf NAME ARGLIST (STORE) BODY...). +Here, the above `setf' call is expanded by binding the argument forms ARGS +according to ARGLIST, binding the value form VAL to STORE, then executing +BODY, which must return a Lisp form that does the necessary `setf' operation. +Actually, ARGLIST and STORE may be bound to temporary variables which are +introduced automatically to preserve proper execution order of the arguments. +Example: + + (defsetf nth (n x) (v) (list 'setcar (list 'nthcdr n x) v)) + +\(fn NAME [FUNC | ARGLIST (STORE) BODY...])" nil (quote macro)) + +(autoload (quote get-setf-method) "cl-macs" "\ +Return a list of five values describing the setf-method for PLACE. +PLACE may be any Lisp form which can appear as the PLACE argument to +a macro like `setf' or `incf'. + +\(fn PLACE &optional ENV)" nil nil) + +(autoload (quote setf) "cl-macs" "\ +Set each PLACE to the value of its VAL. +This is a generalized version of `setq'; the PLACEs may be symbolic +references such as (car x) or (aref x i), as well as plain symbols. +For example, (setf (cadar x) y) is equivalent to (setcar (cdar x) y). +The return value is the last VAL in the list. + +\(fn PLACE VAL PLACE VAL ...)" nil (quote macro)) + +(autoload (quote psetf) "cl-macs" "\ +Set PLACEs to the values VALs in parallel. +This is like `setf', except that all VAL forms are evaluated (in order) +before assigning any PLACEs to the corresponding values. + +\(fn PLACE VAL PLACE VAL ...)" nil (quote macro)) + +(autoload (quote cl-do-pop) "cl-macs" "\ +Not documented + +\(fn PLACE)" nil nil) + +(autoload (quote remf) "cl-macs" "\ +Remove TAG from property list PLACE. +PLACE may be a symbol, or any generalized variable allowed by `setf'. +The form returns true if TAG was found and removed, nil otherwise. + +\(fn PLACE TAG)" nil (quote macro)) + +(autoload (quote shiftf) "cl-macs" "\ +Shift left among PLACEs. +Example: (shiftf A B C) sets A to B, B to C, and returns the old A. +Each PLACE may be a symbol, or any generalized variable allowed by `setf'. + +\(fn PLACE... VAL)" nil (quote macro)) + +(autoload (quote rotatef) "cl-macs" "\ +Rotate left among PLACEs. +Example: (rotatef A B C) sets A to B, B to C, and C to A. It returns nil. +Each PLACE may be a symbol, or any generalized variable allowed by `setf'. + +\(fn PLACE...)" nil (quote macro)) + +(autoload (quote letf) "cl-macs" "\ +Temporarily bind to PLACEs. +This is the analogue of `let', but with generalized variables (in the +sense of `setf') for the PLACEs. Each PLACE is set to the corresponding +VALUE, then the BODY forms are executed. On exit, either normally or +because of a `throw' or error, the PLACEs are set back to their original +values. Note that this macro is *not* available in Common Lisp. +As a special case, if `(PLACE)' is used instead of `(PLACE VALUE)', +the PLACE is not modified before executing BODY. + +\(fn ((PLACE VALUE) ...) BODY...)" nil (quote macro)) + +(autoload (quote letf*) "cl-macs" "\ +Temporarily bind to PLACEs. +This is the analogue of `let*', but with generalized variables (in the +sense of `setf') for the PLACEs. Each PLACE is set to the corresponding +VALUE, then the BODY forms are executed. On exit, either normally or +because of a `throw' or error, the PLACEs are set back to their original +values. Note that this macro is *not* available in Common Lisp. +As a special case, if `(PLACE)' is used instead of `(PLACE VALUE)', +the PLACE is not modified before executing BODY. + +\(fn ((PLACE VALUE) ...) BODY...)" nil (quote macro)) + +(autoload (quote callf) "cl-macs" "\ +Set PLACE to (FUNC PLACE ARGS...). +FUNC should be an unquoted function name. PLACE may be a symbol, +or any generalized variable allowed by `setf'. + +\(fn FUNC PLACE ARGS...)" nil (quote macro)) + +(autoload (quote callf2) "cl-macs" "\ +Set PLACE to (FUNC ARG1 PLACE ARGS...). +Like `callf', but PLACE is the second argument of FUNC, not the first. + +\(fn FUNC ARG1 PLACE ARGS...)" nil (quote macro)) + +(autoload (quote define-modify-macro) "cl-macs" "\ +Define a `setf'-like modify macro. +If NAME is called, it combines its PLACE argument with the other arguments +from ARGLIST using FUNC: (define-modify-macro incf (&optional (n 1)) +) + +\(fn NAME ARGLIST FUNC &optional DOC)" nil (quote macro)) + +(autoload (quote defstruct) "cl-macs" "\ +Define a struct type. +This macro defines a new Lisp data type called NAME, which contains data +stored in SLOTs. This defines a `make-NAME' constructor, a `copy-NAME' +copier, a `NAME-p' predicate, and setf-able `NAME-SLOT' accessors. + +\(fn (NAME OPTIONS...) (SLOT SLOT-OPTS...)...)" nil (quote macro)) + +(autoload (quote cl-struct-setf-expander) "cl-macs" "\ +Not documented + +\(fn X NAME ACCESSOR PRED-FORM POS)" nil nil) + +(autoload (quote typep) "cl-macs" "\ +Check that OBJECT is of type TYPE. +TYPE is a Common Lisp-style type specifier. + +\(fn OBJECT TYPE)" nil nil) + +(autoload (quote check-type) "cl-macs" "\ +Verify that FORM is of type TYPE; signal an error if not. +STRING is an optional description of the desired type. + +\(fn FORM TYPE &optional STRING)" nil (quote macro)) + +(autoload (quote assert) "cl-macs" "\ +Verify that FORM returns non-nil; signal an error if not. +Second arg SHOW-ARGS means to include arguments of FORM in message. +Other args STRING and ARGS... are arguments to be passed to `error'. +They are not evaluated unless the assertion fails. If STRING is +omitted, a default message listing FORM itself is used. + +\(fn FORM &optional SHOW-ARGS STRING &rest ARGS)" nil (quote macro)) + +(autoload (quote ignore-errors) "cl-macs" "\ +Execute BODY; if an error occurs, return nil. +Otherwise, return result of last form in BODY. + +\(fn &rest BODY)" nil (quote macro)) + +(autoload (quote define-compiler-macro) "cl-macs" "\ +Define a compiler-only macro. +This is like `defmacro', but macro expansion occurs only if the call to +FUNC is compiled (i.e., not interpreted). Compiler macros should be used +for optimizing the way calls to FUNC are compiled; the form returned by +BODY should do the same thing as a call to the normal function called +FUNC, though possibly more efficiently. Note that, like regular macros, +compiler macros are expanded repeatedly until no further expansions are +possible. Unlike regular macros, BODY can decide to \"punt\" and leave the +original function call alone by declaring an initial `&whole foo' parameter +and then returning foo. + +\(fn FUNC ARGS &rest BODY)" nil (quote macro)) + +(autoload (quote compiler-macroexpand) "cl-macs" "\ +Not documented + +\(fn FORM)" nil nil) + +;;;*** + +;;;### (autoloads (tree-equal nsublis sublis nsubst-if-not nsubst-if +;;;;;; nsubst subst-if-not subst-if subsetp nset-exclusive-or set-exclusive-or +;;;;;; nset-difference set-difference nintersection intersection +;;;;;; nunion union rassoc-if-not rassoc-if rassoc* assoc-if-not +;;;;;; assoc-if assoc* cl-adjoin member-if-not member-if member* +;;;;;; merge stable-sort sort* search mismatch count-if-not count-if +;;;;;; count position-if-not position-if position find-if-not find-if +;;;;;; find nsubstitute-if-not nsubstitute-if nsubstitute substitute-if-not +;;;;;; substitute-if substitute delete-duplicates remove-duplicates +;;;;;; delete-if-not delete-if delete* remove-if-not remove-if remove* +;;;;;; replace fill reduce) "cl-seq" "cl-seq.el" "8805f76626399794931f5db36ddf855f") +;;; Generated autoloads from cl-seq.el + +(autoload (quote reduce) "cl-seq" "\ +Reduce two-argument FUNCTION across SEQ. + +Keywords supported: :start :end :from-end :initial-value :key + +\(fn FUNCTION SEQ [KEYWORD VALUE]...)" nil nil) + +(autoload (quote fill) "cl-seq" "\ +Fill the elements of SEQ with ITEM. + +Keywords supported: :start :end + +\(fn SEQ ITEM [KEYWORD VALUE]...)" nil nil) + +(autoload (quote replace) "cl-seq" "\ +Replace the elements of SEQ1 with the elements of SEQ2. +SEQ1 is destructively modified, then returned. + +Keywords supported: :start1 :end1 :start2 :end2 + +\(fn SEQ1 SEQ2 [KEYWORD VALUE]...)" nil nil) + +(autoload (quote remove*) "cl-seq" "\ +Remove all occurrences of ITEM in SEQ. +This is a non-destructive function; it makes a copy of SEQ if necessary +to avoid corrupting the original SEQ. + +Keywords supported: :test :test-not :key :count :start :end :from-end + +\(fn ITEM SEQ [KEYWORD VALUE]...)" nil nil) + +(autoload (quote remove-if) "cl-seq" "\ +Remove all items satisfying PREDICATE in SEQ. +This is a non-destructive function; it makes a copy of SEQ if necessary +to avoid corrupting the original SEQ. + +Keywords supported: :key :count :start :end :from-end + +\(fn PREDICATE SEQ [KEYWORD VALUE]...)" nil nil) + +(autoload (quote remove-if-not) "cl-seq" "\ +Remove all items not satisfying PREDICATE in SEQ. +This is a non-destructive function; it makes a copy of SEQ if necessary +to avoid corrupting the original SEQ. + +Keywords supported: :key :count :start :end :from-end + +\(fn PREDICATE SEQ [KEYWORD VALUE]...)" nil nil) + +(autoload (quote delete*) "cl-seq" "\ +Remove all occurrences of ITEM in SEQ. +This is a destructive function; it reuses the storage of SEQ whenever possible. + +Keywords supported: :test :test-not :key :count :start :end :from-end + +\(fn ITEM SEQ [KEYWORD VALUE]...)" nil nil) + +(autoload (quote delete-if) "cl-seq" "\ +Remove all items satisfying PREDICATE in SEQ. +This is a destructive function; it reuses the storage of SEQ whenever possible. + +Keywords supported: :key :count :start :end :from-end + +\(fn PREDICATE SEQ [KEYWORD VALUE]...)" nil nil) + +(autoload (quote delete-if-not) "cl-seq" "\ +Remove all items not satisfying PREDICATE in SEQ. +This is a destructive function; it reuses the storage of SEQ whenever possible. + +Keywords supported: :key :count :start :end :from-end + +\(fn PREDICATE SEQ [KEYWORD VALUE]...)" nil nil) + +(autoload (quote remove-duplicates) "cl-seq" "\ +Return a copy of SEQ with all duplicate elements removed. + +Keywords supported: :test :test-not :key :start :end :from-end + +\(fn SEQ [KEYWORD VALUE]...)" nil nil) + +(autoload (quote delete-duplicates) "cl-seq" "\ +Remove all duplicate elements from SEQ (destructively). + +Keywords supported: :test :test-not :key :start :end :from-end + +\(fn SEQ [KEYWORD VALUE]...)" nil nil) + +(autoload (quote substitute) "cl-seq" "\ +Substitute NEW for OLD in SEQ. +This is a non-destructive function; it makes a copy of SEQ if necessary +to avoid corrupting the original SEQ. + +Keywords supported: :test :test-not :key :count :start :end :from-end + +\(fn NEW OLD SEQ [KEYWORD VALUE]...)" nil nil) + +(autoload (quote substitute-if) "cl-seq" "\ +Substitute NEW for all items satisfying PREDICATE in SEQ. +This is a non-destructive function; it makes a copy of SEQ if necessary +to avoid corrupting the original SEQ. + +Keywords supported: :key :count :start :end :from-end + +\(fn NEW PREDICATE SEQ [KEYWORD VALUE]...)" nil nil) + +(autoload (quote substitute-if-not) "cl-seq" "\ +Substitute NEW for all items not satisfying PREDICATE in SEQ. +This is a non-destructive function; it makes a copy of SEQ if necessary +to avoid corrupting the original SEQ. + +Keywords supported: :key :count :start :end :from-end + +\(fn NEW PREDICATE SEQ [KEYWORD VALUE]...)" nil nil) + +(autoload (quote nsubstitute) "cl-seq" "\ +Substitute NEW for OLD in SEQ. +This is a destructive function; it reuses the storage of SEQ whenever possible. + +Keywords supported: :test :test-not :key :count :start :end :from-end + +\(fn NEW OLD SEQ [KEYWORD VALUE]...)" nil nil) + +(autoload (quote nsubstitute-if) "cl-seq" "\ +Substitute NEW for all items satisfying PREDICATE in SEQ. +This is a destructive function; it reuses the storage of SEQ whenever possible. + +Keywords supported: :key :count :start :end :from-end + +\(fn NEW PREDICATE SEQ [KEYWORD VALUE]...)" nil nil) + +(autoload (quote nsubstitute-if-not) "cl-seq" "\ +Substitute NEW for all items not satisfying PREDICATE in SEQ. +This is a destructive function; it reuses the storage of SEQ whenever possible. + +Keywords supported: :key :count :start :end :from-end + +\(fn NEW PREDICATE SEQ [KEYWORD VALUE]...)" nil nil) + +(autoload (quote find) "cl-seq" "\ +Find the first occurrence of ITEM in SEQ. +Return the matching ITEM, or nil if not found. + +Keywords supported: :test :test-not :key :start :end :from-end + +\(fn ITEM SEQ [KEYWORD VALUE]...)" nil nil) + +(autoload (quote find-if) "cl-seq" "\ +Find the first item satisfying PREDICATE in SEQ. +Return the matching item, or nil if not found. + +Keywords supported: :key :start :end :from-end + +\(fn PREDICATE SEQ [KEYWORD VALUE]...)" nil nil) + +(autoload (quote find-if-not) "cl-seq" "\ +Find the first item not satisfying PREDICATE in SEQ. +Return the matching item, or nil if not found. + +Keywords supported: :key :start :end :from-end + +\(fn PREDICATE SEQ [KEYWORD VALUE]...)" nil nil) + +(autoload (quote position) "cl-seq" "\ +Find the first occurrence of ITEM in SEQ. +Return the index of the matching item, or nil if not found. + +Keywords supported: :test :test-not :key :start :end :from-end + +\(fn ITEM SEQ [KEYWORD VALUE]...)" nil nil) + +(autoload (quote position-if) "cl-seq" "\ +Find the first item satisfying PREDICATE in SEQ. +Return the index of the matching item, or nil if not found. + +Keywords supported: :key :start :end :from-end + +\(fn PREDICATE SEQ [KEYWORD VALUE]...)" nil nil) + +(autoload (quote position-if-not) "cl-seq" "\ +Find the first item not satisfying PREDICATE in SEQ. +Return the index of the matching item, or nil if not found. + +Keywords supported: :key :start :end :from-end + +\(fn PREDICATE SEQ [KEYWORD VALUE]...)" nil nil) + +(autoload (quote count) "cl-seq" "\ +Count the number of occurrences of ITEM in SEQ. + +Keywords supported: :test :test-not :key :start :end + +\(fn ITEM SEQ [KEYWORD VALUE]...)" nil nil) + +(autoload (quote count-if) "cl-seq" "\ +Count the number of items satisfying PREDICATE in SEQ. + +Keywords supported: :key :start :end + +\(fn PREDICATE SEQ [KEYWORD VALUE]...)" nil nil) + +(autoload (quote count-if-not) "cl-seq" "\ +Count the number of items not satisfying PREDICATE in SEQ. + +Keywords supported: :key :start :end + +\(fn PREDICATE SEQ [KEYWORD VALUE]...)" nil nil) + +(autoload (quote mismatch) "cl-seq" "\ +Compare SEQ1 with SEQ2, return index of first mismatching element. +Return nil if the sequences match. If one sequence is a prefix of the +other, the return value indicates the end of the shorter sequence. + +Keywords supported: :test :test-not :key :start1 :end1 :start2 :end2 :from-end + +\(fn SEQ1 SEQ2 [KEYWORD VALUE]...)" nil nil) + +(autoload (quote search) "cl-seq" "\ +Search for SEQ1 as a subsequence of SEQ2. +Return the index of the leftmost element of the first match found; +return nil if there are no matches. + +Keywords supported: :test :test-not :key :start1 :end1 :start2 :end2 :from-end + +\(fn SEQ1 SEQ2 [KEYWORD VALUE]...)" nil nil) + +(autoload (quote sort*) "cl-seq" "\ +Sort the argument SEQ according to PREDICATE. +This is a destructive function; it reuses the storage of SEQ if possible. + +Keywords supported: :key + +\(fn SEQ PREDICATE [KEYWORD VALUE]...)" nil nil) + +(autoload (quote stable-sort) "cl-seq" "\ +Sort the argument SEQ stably according to PREDICATE. +This is a destructive function; it reuses the storage of SEQ if possible. + +Keywords supported: :key + +\(fn SEQ PREDICATE [KEYWORD VALUE]...)" nil nil) + +(autoload (quote merge) "cl-seq" "\ +Destructively merge the two sequences to produce a new sequence. +TYPE is the sequence type to return, SEQ1 and SEQ2 are the two argument +sequences, and PREDICATE is a `less-than' predicate on the elements. + +Keywords supported: :key + +\(fn TYPE SEQ1 SEQ2 PREDICATE [KEYWORD VALUE]...)" nil nil) + +(autoload (quote member*) "cl-seq" "\ +Find the first occurrence of ITEM in LIST. +Return the sublist of LIST whose car is ITEM. + +Keywords supported: :test :test-not :key + +\(fn ITEM LIST [KEYWORD VALUE]...)" nil nil) + +(autoload (quote member-if) "cl-seq" "\ +Find the first item satisfying PREDICATE in LIST. +Return the sublist of LIST whose car matches. + +Keywords supported: :key + +\(fn PREDICATE LIST [KEYWORD VALUE]...)" nil nil) + +(autoload (quote member-if-not) "cl-seq" "\ +Find the first item not satisfying PREDICATE in LIST. +Return the sublist of LIST whose car matches. + +Keywords supported: :key + +\(fn PREDICATE LIST [KEYWORD VALUE]...)" nil nil) + +(autoload (quote cl-adjoin) "cl-seq" "\ +Not documented + +\(fn CL-ITEM CL-LIST &rest CL-KEYS)" nil nil) + +(autoload (quote assoc*) "cl-seq" "\ +Find the first item whose car matches ITEM in LIST. + +Keywords supported: :test :test-not :key + +\(fn ITEM LIST [KEYWORD VALUE]...)" nil nil) + +(autoload (quote assoc-if) "cl-seq" "\ +Find the first item whose car satisfies PREDICATE in LIST. + +Keywords supported: :key + +\(fn PREDICATE LIST [KEYWORD VALUE]...)" nil nil) + +(autoload (quote assoc-if-not) "cl-seq" "\ +Find the first item whose car does not satisfy PREDICATE in LIST. + +Keywords supported: :key + +\(fn PREDICATE LIST [KEYWORD VALUE]...)" nil nil) + +(autoload (quote rassoc*) "cl-seq" "\ +Find the first item whose cdr matches ITEM in LIST. + +Keywords supported: :test :test-not :key + +\(fn ITEM LIST [KEYWORD VALUE]...)" nil nil) + +(autoload (quote rassoc-if) "cl-seq" "\ +Find the first item whose cdr satisfies PREDICATE in LIST. + +Keywords supported: :key + +\(fn PREDICATE LIST [KEYWORD VALUE]...)" nil nil) + +(autoload (quote rassoc-if-not) "cl-seq" "\ +Find the first item whose cdr does not satisfy PREDICATE in LIST. + +Keywords supported: :key + +\(fn PREDICATE LIST [KEYWORD VALUE]...)" nil nil) + +(autoload (quote union) "cl-seq" "\ +Combine LIST1 and LIST2 using a set-union operation. +The result list contains all items that appear in either LIST1 or LIST2. +This is a non-destructive function; it makes a copy of the data if necessary +to avoid corrupting the original LIST1 and LIST2. + +Keywords supported: :test :test-not :key + +\(fn LIST1 LIST2 [KEYWORD VALUE]...)" nil nil) + +(autoload (quote nunion) "cl-seq" "\ +Combine LIST1 and LIST2 using a set-union operation. +The result list contains all items that appear in either LIST1 or LIST2. +This is a destructive function; it reuses the storage of LIST1 and LIST2 +whenever possible. + +Keywords supported: :test :test-not :key + +\(fn LIST1 LIST2 [KEYWORD VALUE]...)" nil nil) + +(autoload (quote intersection) "cl-seq" "\ +Combine LIST1 and LIST2 using a set-intersection operation. +The result list contains all items that appear in both LIST1 and LIST2. +This is a non-destructive function; it makes a copy of the data if necessary +to avoid corrupting the original LIST1 and LIST2. + +Keywords supported: :test :test-not :key + +\(fn LIST1 LIST2 [KEYWORD VALUE]...)" nil nil) + +(autoload (quote nintersection) "cl-seq" "\ +Combine LIST1 and LIST2 using a set-intersection operation. +The result list contains all items that appear in both LIST1 and LIST2. +This is a destructive function; it reuses the storage of LIST1 and LIST2 +whenever possible. + +Keywords supported: :test :test-not :key + +\(fn LIST1 LIST2 [KEYWORD VALUE]...)" nil nil) + +(autoload (quote set-difference) "cl-seq" "\ +Combine LIST1 and LIST2 using a set-difference operation. +The result list contains all items that appear in LIST1 but not LIST2. +This is a non-destructive function; it makes a copy of the data if necessary +to avoid corrupting the original LIST1 and LIST2. + +Keywords supported: :test :test-not :key + +\(fn LIST1 LIST2 [KEYWORD VALUE]...)" nil nil) + +(autoload (quote nset-difference) "cl-seq" "\ +Combine LIST1 and LIST2 using a set-difference operation. +The result list contains all items that appear in LIST1 but not LIST2. +This is a destructive function; it reuses the storage of LIST1 and LIST2 +whenever possible. + +Keywords supported: :test :test-not :key + +\(fn LIST1 LIST2 [KEYWORD VALUE]...)" nil nil) + +(autoload (quote set-exclusive-or) "cl-seq" "\ +Combine LIST1 and LIST2 using a set-exclusive-or operation. +The result list contains all items that appear in exactly one of LIST1, LIST2. +This is a non-destructive function; it makes a copy of the data if necessary +to avoid corrupting the original LIST1 and LIST2. + +Keywords supported: :test :test-not :key + +\(fn LIST1 LIST2 [KEYWORD VALUE]...)" nil nil) + +(autoload (quote nset-exclusive-or) "cl-seq" "\ +Combine LIST1 and LIST2 using a set-exclusive-or operation. +The result list contains all items that appear in exactly one of LIST1, LIST2. +This is a destructive function; it reuses the storage of LIST1 and LIST2 +whenever possible. + +Keywords supported: :test :test-not :key + +\(fn LIST1 LIST2 [KEYWORD VALUE]...)" nil nil) + +(autoload (quote subsetp) "cl-seq" "\ +Return true if LIST1 is a subset of LIST2. +I.e., if every element of LIST1 also appears in LIST2. + +Keywords supported: :test :test-not :key + +\(fn LIST1 LIST2 [KEYWORD VALUE]...)" nil nil) + +(autoload (quote subst-if) "cl-seq" "\ +Substitute NEW for elements matching PREDICATE in TREE (non-destructively). +Return a copy of TREE with all matching elements replaced by NEW. + +Keywords supported: :key + +\(fn NEW PREDICATE TREE [KEYWORD VALUE]...)" nil nil) + +(autoload (quote subst-if-not) "cl-seq" "\ +Substitute NEW for elts not matching PREDICATE in TREE (non-destructively). +Return a copy of TREE with all non-matching elements replaced by NEW. + +Keywords supported: :key + +\(fn NEW PREDICATE TREE [KEYWORD VALUE]...)" nil nil) + +(autoload (quote nsubst) "cl-seq" "\ +Substitute NEW for OLD everywhere in TREE (destructively). +Any element of TREE which is `eql' to OLD is changed to NEW (via a call +to `setcar'). + +Keywords supported: :test :test-not :key + +\(fn NEW OLD TREE [KEYWORD VALUE]...)" nil nil) + +(autoload (quote nsubst-if) "cl-seq" "\ +Substitute NEW for elements matching PREDICATE in TREE (destructively). +Any element of TREE which matches is changed to NEW (via a call to `setcar'). + +Keywords supported: :key + +\(fn NEW PREDICATE TREE [KEYWORD VALUE]...)" nil nil) + +(autoload (quote nsubst-if-not) "cl-seq" "\ +Substitute NEW for elements not matching PREDICATE in TREE (destructively). +Any element of TREE which matches is changed to NEW (via a call to `setcar'). + +Keywords supported: :key + +\(fn NEW PREDICATE TREE [KEYWORD VALUE]...)" nil nil) + +(autoload (quote sublis) "cl-seq" "\ +Perform substitutions indicated by ALIST in TREE (non-destructively). +Return a copy of TREE with all matching elements replaced. + +Keywords supported: :test :test-not :key + +\(fn ALIST TREE [KEYWORD VALUE]...)" nil nil) + +(autoload (quote nsublis) "cl-seq" "\ +Perform substitutions indicated by ALIST in TREE (destructively). +Any matching element of TREE is changed via a call to `setcar'. + +Keywords supported: :test :test-not :key + +\(fn ALIST TREE [KEYWORD VALUE]...)" nil nil) + +(autoload (quote tree-equal) "cl-seq" "\ +Return t if trees TREE1 and TREE2 have `eql' leaves. +Atoms are compared by `eql'; cons cells are compared recursively. + +Keywords supported: :test :test-not :key + +\(fn TREE1 TREE2 [KEYWORD VALUE]...)" nil nil) + +;;;*** + +;; Local Variables: +;; version-control: never +;; no-byte-compile: t +;; no-update-autoloads: t +;; End: + +;; arch-tag: 08cc5aab-e992-47f6-992e-12a7428c1a0e +;;; cl-loaddefs.el ends here diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index adbe7054cda..c75d3b9f9f0 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el @@ -1,6 +1,6 @@ ;;; cl-macs.el --- Common Lisp macros -*-byte-compile-dynamic: t;-*- -;; Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Author: Dave Gillespie @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -266,15 +266,19 @@ its argument list allows full Common Lisp conventions." (nconc (nreverse simple-args) (list '&rest (car (pop bind-lets)))) (nconc (let ((hdr (nreverse header))) - (require 'help-fns) - (cons (help-add-fundoc-usage - (if (stringp (car hdr)) (pop hdr)) - ;; orig-args can contain &cl-defs (an internal CL - ;; thingy that I do not understand), so remove it. - (let ((x (memq '&cl-defs orig-args))) - (if (null x) orig-args - (delq (car x) (remq (cadr x) orig-args))))) - hdr)) + ;; Macro expansion can take place in the middle of + ;; apparently harmless computation, so it should not + ;; touch the match-data. + (save-match-data + (require 'help-fns) + (cons (help-add-fundoc-usage + (if (stringp (car hdr)) (pop hdr)) + ;; orig-args can contain &cl-defs (an internal + ;; CL thingy I don't understand), so remove it. + (let ((x (memq '&cl-defs orig-args))) + (if (null x) orig-args + (delq (car x) (remq (cadr x) orig-args))))) + hdr))) (list (nconc (list 'let* bind-lets) (nreverse bind-forms) body))))))) diff --git a/lisp/emacs-lisp/cl-seq.el b/lisp/emacs-lisp/cl-seq.el index 0027da1f9d2..78799b6ffe3 100644 --- a/lisp/emacs-lisp/cl-seq.el +++ b/lisp/emacs-lisp/cl-seq.el @@ -1,7 +1,7 @@ ;;; cl-seq.el --- Common Lisp features, part 3 -*-byte-compile-dynamic: t;-*- ;; Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Dave Gillespie ;; Version: 2.02 @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/cl-specs.el b/lisp/emacs-lisp/cl-specs.el index 5ea587f953b..dc8ebef69d5 100644 --- a/lisp/emacs-lisp/cl-specs.el +++ b/lisp/emacs-lisp/cl-specs.el @@ -1,7 +1,7 @@ ;;; cl-specs.el --- Edebug specs for cl.el -*- no-byte-compile: t -*- ;; Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Daniel LaLiberte ;; Keywords: lisp, tools, maint @@ -13,7 +13,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -323,7 +323,7 @@ ;; Below is a complete spec for loop, in several parts that correspond ;; to the syntax given in CLtL2. The specs do more than specify where ;; the forms are; it also specifies, as much as Edebug allows, all the -;; syntactically legal loop clauses. The disadvantage of this +;; syntactically valid loop clauses. The disadvantage of this ;; completeness is rigidity, but the "for ... being" clause allows ;; arbitrary extensions of the form: [symbolp &rest &or symbolp form]. diff --git a/lisp/emacs-lisp/cl.el b/lisp/emacs-lisp/cl.el index 83dffb41b2d..887e3d727a3 100644 --- a/lisp/emacs-lisp/cl.el +++ b/lisp/emacs-lisp/cl.el @@ -1,7 +1,7 @@ ;;; cl.el --- Common Lisp extensions for Emacs -*-byte-compile-dynamic: t;-*- ;; Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Dave Gillespie ;; Version: 2.02 @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/copyright.el b/lisp/emacs-lisp/copyright.el index 5f5aecea97a..96c846d912a 100644 --- a/lisp/emacs-lisp/copyright.el +++ b/lisp/emacs-lisp/copyright.el @@ -1,7 +1,7 @@ ;;; copyright.el --- update the copyright notice in current buffer ;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1998, 2001, 2002, 2003, -;; 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Daniel Pfeiffer ;; Keywords: maint, tools @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -37,7 +37,7 @@ :group 'tools) (defcustom copyright-limit 2000 - "*Don't try to update copyright beyond this position unless interactive. + "Don't try to update copyright beyond this position unless interactive. A value of nil means to search whole buffer." :group 'copyright :type '(choice (integer :tag "Limit") @@ -49,21 +49,21 @@ A value of nil means to search whole buffer." "\\([©Ž©]\\|@copyright{}\\|[Cc]opyright\\s *:?\\s *\\(?:(C)\\)?\ \\|[Cc]opyright\\s *:?\\s *[©Ž©]\\)\ \\s *\\([1-9]\\([-0-9, ';/*%#\n\t]\\|\\s<\\|\\s>\\)*[0-9]+\\)" - "*What your copyright notice looks like. + "What your copyright notice looks like. The second \\( \\) construct must match the years." :group 'copyright :type 'regexp) (defcustom copyright-years-regexp "\\(\\s *\\)\\([1-9]\\([-0-9, ';/*%#\n\t]\\|\\s<\\|\\s>\\)*[0-9]+\\)" - "*Match additional copyright notice years. + "Match additional copyright notice years. The second \\( \\) construct must match the years." :group 'copyright :type 'regexp) (defcustom copyright-query 'function - "*If non-nil, ask user before changing copyright. + "If non-nil, ask user before changing copyright. When this is `function', only ask when called non-interactively." :group 'copyright :type '(choice (const :tag "Do not ask") @@ -72,7 +72,7 @@ When this is `function', only ask when called non-interactively." ;; when modifying this, also modify the comment generated by autoinsert.el -(defconst copyright-current-gpl-version "2" +(defconst copyright-current-gpl-version "3" "String representing the current version of the GPL or nil.") (defvar copyright-update t) @@ -83,7 +83,8 @@ When this is `function', only ask when called non-interactively." "String representing the current year.") (defun copyright-update-year (replace noquery) - (when (re-search-forward copyright-regexp (+ (point) copyright-limit) t) + (when (re-search-forward copyright-regexp + (if copyright-limit (+ (point) copyright-limit)) t) ;; If the years are continued onto multiple lined ;; that are marked as comments, skip to the end of the years anyway. (while (save-excursion @@ -159,10 +160,11 @@ interactively." (and copyright-current-gpl-version ;; match the GPL version comment in .el files, including the ;; bilingual Esperanto one in two-column, and in texinfo.tex - (re-search-forward "\\(the Free Software Foundation;\ + (re-search-forward + "\\(the Free Software Foundation;\ either \\|; a\\^u eldono \\([0-9]+\\)a, ? a\\^u (la\\^u via \\)\ version \\([0-9]+\\), or (at" - (+ (point) copyright-limit) t) + (if copyright-limit (+ (point) copyright-limit)) t) (not (string= (match-string 3) copyright-current-gpl-version)) (or noquery (y-or-n-p (concat "Replace GPL version by " @@ -184,7 +186,8 @@ Uses heuristic: year >= 50 means 19xx, < 50 means 20xx." (interactive) (widen) (goto-char (point-min)) - (if (re-search-forward copyright-regexp (+ (point) copyright-limit) t) + (if (re-search-forward copyright-regexp + (if copyright-limit (+ (point) copyright-limit)) t) (let ((s (match-beginning 2)) (e (copy-marker (1+ (match-end 2)))) (p (make-marker)) @@ -224,7 +227,7 @@ Uses heuristic: year >= 50 means 19xx, < 50 means 20xx." "Copyright (C) " `(substring (current-time-string) -4) " by " (or (getenv "ORGANIZATION") str) - '(if (> (point) (+ (point-min) copyright-limit)) + '(if (and copyright-limit (> (point) (+ (point-min) copyright-limit))) (message "Copyright extends beyond `copyright-limit' and won't be updated automatically.")) comment-end \n) @@ -235,5 +238,5 @@ Uses heuristic: year >= 50 means 19xx, < 50 means 20xx." ;; coding: emacs-mule ;; End: -;;; arch-tag: b4991afb-b6b1-4590-bebe-e076d9d4aee8 +;; arch-tag: b4991afb-b6b1-4590-bebe-e076d9d4aee8 ;;; copyright.el ends here diff --git a/lisp/emacs-lisp/crm.el b/lisp/emacs-lisp/crm.el index 54fe21f9445..10a67eac281 100644 --- a/lisp/emacs-lisp/crm.el +++ b/lisp/emacs-lisp/crm.el @@ -1,7 +1,7 @@ ;;; crm.el --- read multiple strings with completion ;; Copyright (C) 1985, 1986, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -;; 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Sen Nagata ;; Keywords: completion, minibuffer, multiple elements @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/cust-print.el b/lisp/emacs-lisp/cust-print.el index eeaa2154d3c..5c9a434ade0 100644 --- a/lisp/emacs-lisp/cust-print.el +++ b/lisp/emacs-lisp/cust-print.el @@ -1,7 +1,7 @@ ;;; cust-print.el --- handles print-level and print-circle ;; Copyright (C) 1992, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Daniel LaLiberte ;; Adapted-By: ESR @@ -15,7 +15,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/debug.el b/lisp/emacs-lisp/debug.el index d8169fb5f2e..c35142ce115 100644 --- a/lisp/emacs-lisp/debug.el +++ b/lisp/emacs-lisp/debug.el @@ -1,7 +1,7 @@ ;;; debug.el --- debuggers and related commands for Emacs ;; Copyright (C) 1985, 1986, 1994, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: lisp, tools, maint @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -269,6 +269,7 @@ That buffer should be current already." (setq buffer-read-only nil) (erase-buffer) (set-buffer-multibyte nil) + (setq buffer-undo-list t) (let ((standard-output (current-buffer)) (print-escape-newlines t) (print-level 8) diff --git a/lisp/emacs-lisp/derived.el b/lisp/emacs-lisp/derived.el index 2b2cffc5a35..537309c8026 100644 --- a/lisp/emacs-lisp/derived.el +++ b/lisp/emacs-lisp/derived.el @@ -2,7 +2,7 @@ ;; (formerly mode-clone.el) ;; Copyright (C) 1993, 1994, 1999, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: David Megginson (dmeggins@aix1.uottawa.ca) ;; Maintainer: FSF @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/disass.el b/lisp/emacs-lisp/disass.el index 56370bc5c83..38862d389fd 100644 --- a/lisp/emacs-lisp/disass.el +++ b/lisp/emacs-lisp/disass.el @@ -1,7 +1,7 @@ ;;; disass.el --- disassembler for compiled Emacs Lisp code ;; Copyright (C) 1986, 1991, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Doug Cutting ;; Jamie Zawinski @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el index 19ed39a2b42..a19e2df3069 100644 --- a/lisp/emacs-lisp/easy-mmode.el +++ b/lisp/emacs-lisp/easy-mmode.el @@ -1,7 +1,7 @@ ;;; easy-mmode.el --- easy definition for major and minor modes ;; Copyright (C) 1997, 2000, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Georges Brun-Cottan ;; Maintainer: Stefan Monnier @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -103,7 +103,7 @@ used (see below). BODY contains code to execute each time the mode is activated or deactivated. It is executed after toggling the mode, - and before running the hook variable `mode-HOOK'. + and before running the hook variable `MODE-hook'. Before the actual body code, you can write keyword arguments (alternating keywords and values). These following keyword arguments are supported (other keywords will be passed to `defcustom' if the minor mode is global): @@ -139,8 +139,8 @@ For example, you could write (setq body (list* lighter keymap body) lighter nil keymap nil)) ((keywordp keymap) (push keymap body) (setq keymap nil))) - (let* ((last-message (current-message)) - (mode-name (symbol-name mode)) + (let* ((last-message (make-symbol "last-message")) + (mode-name (symbol-name mode)) (pretty-name (easy-mmode-pretty-mode-name mode lighter)) (globalp nil) (set nil) @@ -222,28 +222,30 @@ With zero or negative ARG turn mode off. ;; Use `toggle' rather than (if ,mode 0 1) so that using ;; repeat-command still does the toggling correctly. (interactive (list (or current-prefix-arg 'toggle))) - (setq ,mode - (cond - ((eq arg 'toggle) (not ,mode)) - (arg (> (prefix-numeric-value arg) 0)) - (t - (if (null ,mode) t - (message - "Toggling %s off; better pass an explicit argument." - ',mode) - nil)))) - ,@body - ;; The on/off hooks are here for backward compatibility only. - (run-hooks ',hook (if ,mode ',hook-on ',hook-off)) - (if (called-interactively-p) - (progn - ,(if globalp `(customize-mark-as-set ',mode)) - ;; Avoid overwriting a message shown by the body, - ;; but do overwrite previous messages. - (unless ,(and (current-message) - (not (equal last-message (current-message)))) - (message ,(format "%s %%sabled" pretty-name) - (if ,mode "en" "dis"))))) + (let ((,last-message (current-message))) + (setq ,mode + (cond + ((eq arg 'toggle) (not ,mode)) + (arg (> (prefix-numeric-value arg) 0)) + (t + (if (null ,mode) t + (message + "Toggling %s off; better pass an explicit argument." + ',mode) + nil)))) + ,@body + ;; The on/off hooks are here for backward compatibility only. + (run-hooks ',hook (if ,mode ',hook-on ',hook-off)) + (if (called-interactively-p) + (progn + ,(if globalp `(customize-mark-as-set ',mode)) + ;; Avoid overwriting a message shown by the body, + ;; but do overwrite previous messages. + (unless (and (current-message) + (not (equal ,last-message + (current-message)))) + (message ,(format "%s %%sabled" pretty-name) + (if ,mode "en" "dis")))))) (force-mode-line-update) ;; Return the new setting. ,mode) @@ -486,7 +488,7 @@ BASE-next also tries to make sure that the whole entry is visible by the next entry) and recentering if necessary. ENDFUN should return the end position (with or without moving point). NARROWFUN non-nil means to check for narrowing before moving, and if -found, do widen first and then call NARROWFUN with no args after moving." +found, do `widen' first and then call NARROWFUN with no args after moving." (let* ((base-name (symbol-name base)) (prev-sym (intern (concat base-name "-prev"))) (next-sym (intern (concat base-name "-next"))) @@ -539,5 +541,5 @@ found, do widen first and then call NARROWFUN with no args after moving." (provide 'easy-mmode) -;;; arch-tag: d48a5250-6961-4528-9cb0-3c9ea042a66a +;; arch-tag: d48a5250-6961-4528-9cb0-3c9ea042a66a ;;; easy-mmode.el ends here diff --git a/lisp/emacs-lisp/easymenu.el b/lisp/emacs-lisp/easymenu.el index d1ec5a1fe39..37083ac800a 100644 --- a/lisp/emacs-lisp/easymenu.el +++ b/lisp/emacs-lisp/easymenu.el @@ -1,7 +1,7 @@ ;;; easymenu.el --- support the easymenu interface for defining a menu ;; Copyright (C) 1994, 1996, 1998, 1999, 2000, 2001, 2002, 2003, -;; 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Keywords: emulations ;; Author: Richard Stallman @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -539,7 +539,7 @@ earlier by `easy-menu-define' or `easy-menu-create-menu'." (easy-menu-do-add-item map item before))) (defun easy-menu-item-present-p (map path name) - "In submenu of MAP with path PATH, return non-nil iff item NAME is present. + "In submenu of MAP with path PATH, return non-nil if item NAME is present. MAP and PATH are defined as in `easy-menu-add-item'. NAME should be a string, the name of the element to be looked for." (easy-menu-return-item (easy-menu-get-map map path) name)) diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el index 9ae33599f09..e825f2434b4 100644 --- a/lisp/emacs-lisp/edebug.el +++ b/lisp/emacs-lisp/edebug.el @@ -1,7 +1,7 @@ ;;; edebug.el --- a source-level debugger for Emacs Lisp ;; Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1997, 1999, -;; 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Daniel LaLiberte ;; Maintainer: FSF @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -1496,7 +1496,7 @@ expressions; a `progn' form will be returned enclosing these forms." (cond ((symbolp head) (cond - ((null head) nil) ; () is legal. + ((null head) nil) ; () is valid. ((eq head 'interactive-p) ;; Special case: replace (interactive-p) with variable (setq edebug-def-interactive 'check-it) @@ -1507,7 +1507,7 @@ expressions; a `progn' form will be returned enclosing these forms." head (edebug-move-cursor cursor)))))) ((consp head) - (if (eq (car head) ',) + (if (eq (car head) '\,) ;; The head of a form should normally be a symbol or a lambda ;; expression but it can also be an unquote form to be filled ;; before evaluation. We evaluate the arguments anyway, on the @@ -1664,7 +1664,7 @@ expressions; a `progn' form will be returned enclosing these forms." ((fboundp symbol) ; is it a predicate? (let ((sexp (edebug-top-element-required cursor "Expected" symbol))) ;; Special case for edebug-`. - (if (and (listp sexp) (eq (car sexp) ',)) + (if (and (listp sexp) (eq (car sexp) '\,)) (edebug-match cursor '(("," def-form))) (if (not (funcall symbol sexp)) (edebug-no-match cursor symbol "failed")) @@ -2076,7 +2076,7 @@ expressions; a `progn' form will be returned enclosing these forms." ;; doesn't handle (a . ,b). The straightforward fix: ;; (backquote-form . [&or nil backquote-form]) ;; uses up too much stack space. - ;; Note that `(foo . ,@bar) is not legal, so we don't need to handle it. + ;; Note that `(foo . ,@bar) is not valid, so we don't need to handle it. (backquote-form [&rest [¬ ","] backquote-form] . [&or nil backquote-form]) ;; If you use dotted forms in backquotes, replace the previous line @@ -2102,8 +2102,8 @@ expressions; a `progn' form will be returned enclosing these forms." (def-edebug-spec edebug-\` (def-form)) ;; Assume immediate quote in unquotes mean backquote at next higher level. -(def-edebug-spec , (&or ("quote" edebug-\`) def-form)) -(def-edebug-spec ,@ (&define ;; so (,@ form) is never wrapped. +(def-edebug-spec \, (&or ("quote" edebug-\`) def-form)) +(def-edebug-spec \,@ (&define ;; so (,@ form) is never wrapped. &or ("quote" edebug-\`) def-form)) ;; New byte compiler. @@ -3675,44 +3675,6 @@ Return the result of the last expression." ;;; Printing -;; Replace printing functions. - -;; obsolete names -(define-obsolete-function-alias 'edebug-install-custom-print-funcs - 'edebug-install-custom-print "22.1") -(define-obsolete-function-alias 'edebug-reset-print-funcs - 'edebug-uninstall-custom-print "22.1") -(define-obsolete-function-alias 'edebug-uninstall-custom-print-funcs - 'edebug-uninstall-custom-print "22.1") - -(defun edebug-install-custom-print () - "Replace print functions used by Edebug with custom versions." - ;; Modifying the custom print functions, or changing print-length, - ;; print-level, print-circle, custom-print-list or custom-print-vector - ;; have immediate effect. - (interactive) - (require 'cust-print) - (defalias 'edebug-prin1 'custom-prin1) - (defalias 'edebug-print 'custom-print) - (defalias 'edebug-prin1-to-string 'custom-prin1-to-string) - (defalias 'edebug-format 'custom-format) - (defalias 'edebug-message 'custom-message) - "Installed") - -(eval-and-compile - (defun edebug-uninstall-custom-print () - "Replace edebug custom print functions with internal versions." - (interactive) - (defalias 'edebug-prin1 'prin1) - (defalias 'edebug-print 'print) - (defalias 'edebug-prin1-to-string 'prin1-to-string) - (defalias 'edebug-format 'format) - (defalias 'edebug-message 'message) - "Uninstalled") - - ;; Default print functions are the same as Emacs'. - (edebug-uninstall-custom-print)) - (defun edebug-report-error (edebug-value) ;; Print an error message like command level does. @@ -3759,6 +3721,12 @@ Return the result of the last expression." ;;; Read, Eval and Print +(defalias 'edebug-prin1 'prin1) +(defalias 'edebug-print 'print) +(defalias 'edebug-prin1-to-string 'prin1-to-string) +(defalias 'edebug-format 'format) +(defalias 'edebug-message 'message) + (defun edebug-eval-expression (edebug-expr) "Evaluate an expression in the outside environment. If interactive, prompt for the expression. diff --git a/lisp/emacs-lisp/eldoc.el b/lisp/emacs-lisp/eldoc.el index 85b150b6ae5..e184d106ae7 100644 --- a/lisp/emacs-lisp/eldoc.el +++ b/lisp/emacs-lisp/eldoc.el @@ -1,7 +1,7 @@ ;;; eldoc.el --- show function arglist or variable docstring in echo area ;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Noah Friedman ;; Maintainer: friedman@splode.com @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -104,7 +104,7 @@ truncated to make more of the arglist or documentation string visible." ;;; No user options below here. (defvar eldoc-message-commands-table-size 31 - "This is used by eldoc-add-command to initialize eldoc-message-commands + "This is used by `eldoc-add-command' to initialize `eldoc-message-commands' as an obarray. It should probably never be necessary to do so, but if you choose to increase the number of buckets, you must do so before loading @@ -116,7 +116,7 @@ Remember to keep it a prime number to improve hash performance.") "Commands after which it is appropriate to print in the echo area. Eldoc does not try to print function arglists, etc. after just any command, because some commands print their own messages in the echo area and these -functions would instantly overwrite them. But self-insert-command as well +functions would instantly overwrite them. But `self-insert-command' as well as most motion commands are good candidates. This variable contains an obarray of symbols; do not manipulate it directly. Instead, use `eldoc-add-command' and `eldoc-remove-command'.") @@ -132,7 +132,7 @@ directly. Instead, use `eldoc-add-command' and `eldoc-remove-command'.") (defvar eldoc-timer nil "eldoc's timer object.") (defvar eldoc-current-idle-delay eldoc-idle-delay - "idle time delay currently in use by timer. + "Idle time delay currently in use by timer. This is used to determine if `eldoc-idle-delay' is changed by the user.") diff --git a/lisp/emacs-lisp/elint.el b/lisp/emacs-lisp/elint.el index d6ec46e3055..7284e1c9c16 100644 --- a/lisp/emacs-lisp/elint.el +++ b/lisp/emacs-lisp/elint.el @@ -1,7 +1,7 @@ ;;; elint.el --- Lint Emacs Lisp ;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Peter Liljenberg ;; Created: May 1997 @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/elp.el b/lisp/emacs-lisp/elp.el index 3855254db18..12332f03e64 100644 --- a/lisp/emacs-lisp/elp.el +++ b/lisp/emacs-lisp/elp.el @@ -1,7 +1,7 @@ ;;; elp.el --- Emacs Lisp Profiler ;; Copyright (C) 1994, 1995, 1997, 1998, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Barry A. Warsaw ;; Maintainer: FSF @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -147,16 +147,16 @@ Results are displayed with the `elp-results' command." :group 'elp) (defcustom elp-sort-by-function 'elp-sort-by-total-time - "*Non-nil specifies elp results sorting function. + "*Non-nil specifies ELP results sorting function. These functions are currently available: elp-sort-by-call-count -- sort by the highest call count elp-sort-by-total-time -- sort by the highest total time elp-sort-by-average-time -- sort by the highest average times -You can write you're own sort function. It should adhere to the -interface specified by the PRED argument for the `sort' defun. Each -\"element of LIST\" is really a 4 element vector where element 0 is +You can write your own sort function. It should adhere to the +interface specified by the PREDICATE argument for `sort'. +Each \"element of LIST\" is really a 4 element vector where element 0 is the call count, element 1 is the total time spent in the function, element 2 is the average time spent in the function, and element 3 is the symbol's name string." @@ -164,7 +164,7 @@ the symbol's name string." :group 'elp) (defcustom elp-report-limit 1 - "*Prevents some functions from being displayed in the results buffer. + "*Prevent some functions from being displayed in the results buffer. If a number, no function that has been called fewer than that number of times will be displayed in the output buffer. If nil, all functions will be displayed." @@ -173,12 +173,12 @@ functions will be displayed." :group 'elp) (defcustom elp-use-standard-output nil - "*Non-nil says to output to `standard-output' instead of a buffer." + "*If non-nil, output to `standard-output' instead of a buffer." :type 'boolean :group 'elp) (defcustom elp-recycle-buffers-p t - "*nil says to not recycle the `elp-results-buffer'. + "*If nil, don't recycle the `elp-results-buffer'. In other words, a new unique buffer is create every time you run \\[elp-results]." :type 'boolean @@ -372,7 +372,7 @@ Use optional LIST if provided instead." (mapcar 'elp-restore-function list))) (defun elp-restore-all () - "Restores the original definitions of all functions being profiled." + "Restore the original definitions of all functions being profiled." (interactive) (elp-restore-list elp-all-instrumented-list)) @@ -412,7 +412,7 @@ Use optional LIST if provided instead." (elp-instrument-function funsym))) (defun elp-unset-master () - "Unsets the master function." + "Unset the master function." (interactive) ;; when there's no master function, recording is turned on by default. (setq elp-master nil @@ -558,7 +558,7 @@ original definition, use \\[elp-restore-function] or \\[elp-restore-all]." (defun elp-results () "Display current profiling results. If `elp-reset-after-results' is non-nil, then current profiling -information for all instrumented functions are reset after results are +information for all instrumented functions is reset after results are displayed." (interactive) (let ((curbuf (current-buffer)) diff --git a/lisp/emacs-lisp/ewoc.el b/lisp/emacs-lisp/ewoc.el index 9fec81ec2c5..b21ec5e9c85 100644 --- a/lisp/emacs-lisp/ewoc.el +++ b/lisp/emacs-lisp/ewoc.el @@ -1,7 +1,7 @@ ;;; ewoc.el --- utility to maintain a view of a list of objects in a buffer ;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -;; 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Per Cederqvist ;; Inge Wallin @@ -13,7 +13,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/find-func.el b/lisp/emacs-lisp/find-func.el index 07012a38f2e..9fe700d9b7f 100644 --- a/lisp/emacs-lisp/find-func.el +++ b/lisp/emacs-lisp/find-func.el @@ -1,7 +1,7 @@ ;;; find-func.el --- find the definition of the Emacs Lisp function near point ;; Copyright (C) 1997, 1999, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Jens Petersen ;; Maintainer: petersen@kurims.kyoto-u.ac.jp @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -135,6 +135,7 @@ See `find-function' and `find-variable'." "Hook run after finding symbol definition. See the functions `find-function' and `find-variable'." + :type 'hook :group 'find-function :version "20.3") @@ -194,11 +195,21 @@ TYPE should be nil to find a function, or `defvar' to find a variable." (defun find-library (library) "Find the elisp source of LIBRARY." (interactive - (list - (completing-read "Library name: " - 'locate-file-completion - (cons (or find-function-source-path load-path) - (find-library-suffixes))))) + (let* ((path (cons (or find-function-source-path load-path) + (find-library-suffixes))) + (def (if (eq (function-called-at-point) 'require) + (save-excursion + (backward-up-list) + (forward-char) + (backward-sexp -2) + (thing-at-point 'symbol)) + (thing-at-point 'symbol)))) + (when def + (setq def (and (locate-file-completion def path 'test) def))) + (list + (completing-read (if def (format "Library name (default %s): " def) + "Library name: ") + 'locate-file-completion path nil nil nil def)))) (let ((buf (find-file-noselect (find-library-name library)))) (condition-case nil (switch-to-buffer buf) (error (pop-to-buffer buf))))) diff --git a/lisp/emacs-lisp/find-gc.el b/lisp/emacs-lisp/find-gc.el index 0ed33dd44dc..cf9abf57244 100644 --- a/lisp/emacs-lisp/find-gc.el +++ b/lisp/emacs-lisp/find-gc.el @@ -1,7 +1,7 @@ ;;; find-gc.el --- detect functions that call the garbage collector ;; Copyright (C) 1992, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Maintainer: FSF @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/float-sup.el b/lisp/emacs-lisp/float-sup.el index 68326c1bc06..299743cfe7d 100644 --- a/lisp/emacs-lisp/float-sup.el +++ b/lisp/emacs-lisp/float-sup.el @@ -1,7 +1,7 @@ ;;; float-sup.el --- define some constants useful for floating point numbers. ;; Copyright (C) 1985, 1986, 1987, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: internal @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/generic.el b/lisp/emacs-lisp/generic.el index 22ed0c53175..cc295c7ce3e 100644 --- a/lisp/emacs-lisp/generic.el +++ b/lisp/emacs-lisp/generic.el @@ -1,7 +1,7 @@ ;;; generic.el --- defining simple major modes with comment and font-lock ;; ;; Copyright (C) 1997, 1999, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; ;; Author: Peter Breton ;; Created: Fri Sep 27 1996 @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/gulp.el b/lisp/emacs-lisp/gulp.el index ab95a0dab40..873352a4aea 100644 --- a/lisp/emacs-lisp/gulp.el +++ b/lisp/emacs-lisp/gulp.el @@ -1,7 +1,7 @@ ;;; gulp.el --- ask for updates for Lisp packages ;; Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Sam Shteingold ;; Maintainer: FSF @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/helper.el b/lisp/emacs-lisp/helper.el index a14339f8f1d..f0bac8f7bdf 100644 --- a/lisp/emacs-lisp/helper.el +++ b/lisp/emacs-lisp/helper.el @@ -1,7 +1,7 @@ ;;; helper.el --- utility help package supporting help in electric modes ;; Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: K. Shane Hartman ;; Maintainer: FSF @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/levents.el b/lisp/emacs-lisp/levents.el index e409430064e..99eeb7dfe07 100644 --- a/lisp/emacs-lisp/levents.el +++ b/lisp/emacs-lisp/levents.el @@ -1,7 +1,7 @@ ;;; levents.el --- emulate the Lucid event data type and associated functions ;; Copyright (C) 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: emulations @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/lisp-mnt.el b/lisp/emacs-lisp/lisp-mnt.el index 74dd26cb02b..62f47471404 100644 --- a/lisp/emacs-lisp/lisp-mnt.el +++ b/lisp/emacs-lisp/lisp-mnt.el @@ -1,7 +1,7 @@ ;;; lisp-mnt.el --- utility functions for Emacs Lisp maintainers ;; Copyright (C) 1992, 1994, 1997, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Eric S. Raymond ;; Maintainer: FSF @@ -13,7 +13,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index 164756dfdc3..e930987e7e6 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el @@ -1,7 +1,7 @@ ;;; lisp-mode.el --- Lisp mode, and its idiosyncratic commands ;; Copyright (C) 1985, 1986, 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: lisp, languages @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -537,62 +537,65 @@ If CHAR is not a character, return nil." string)))) +(defun preceding-sexp () + "Return sexp before the point." + (let ((opoint (point)) + ignore-quotes + expr) + (save-excursion + (with-syntax-table emacs-lisp-mode-syntax-table + ;; If this sexp appears to be enclosed in `...' + ;; then ignore the surrounding quotes. + (setq ignore-quotes + (or (eq (following-char) ?\') + (eq (preceding-char) ?\'))) + (forward-sexp -1) + ;; If we were after `?\e' (or similar case), + ;; use the whole thing, not just the `e'. + (when (eq (preceding-char) ?\\) + (forward-char -1) + (when (eq (preceding-char) ??) + (forward-char -1))) + + ;; Skip over `#N='s. + (when (eq (preceding-char) ?=) + (let (labeled-p) + (save-excursion + (skip-chars-backward "0-9#=") + (setq labeled-p (looking-at "\\(#[0-9]+=\\)+"))) + (when labeled-p + (forward-sexp -1)))) + + (save-restriction + ;; vladimir@cs.ualberta.ca 30-Jul-1997: skip ` in + ;; `variable' so that the value is returned, not the + ;; name + (if (and ignore-quotes + (eq (following-char) ?`)) + (forward-char)) + (narrow-to-region (point-min) opoint) + (setq expr (read (current-buffer))) + ;; If it's an (interactive ...) form, it's more + ;; useful to show how an interactive call would + ;; use it. + (and (consp expr) + (eq (car expr) 'interactive) + (setq expr + (list 'call-interactively + (list 'quote + (list 'lambda + '(&rest args) + expr + 'args))))) + expr))))) + + (defun eval-last-sexp-1 (eval-last-sexp-arg-internal) "Evaluate sexp before point; print value in minibuffer. With argument, print output into current buffer." (let ((standard-output (if eval-last-sexp-arg-internal (current-buffer) t))) - (let ((value - (eval (let ((stab (syntax-table)) - (opoint (point)) - ignore-quotes - expr) - (save-excursion - (with-syntax-table emacs-lisp-mode-syntax-table - ;; If this sexp appears to be enclosed in `...' - ;; then ignore the surrounding quotes. - (setq ignore-quotes - (or (eq (following-char) ?\') - (eq (preceding-char) ?\'))) - (forward-sexp -1) - ;; If we were after `?\e' (or similar case), - ;; use the whole thing, not just the `e'. - (when (eq (preceding-char) ?\\) - (forward-char -1) - (when (eq (preceding-char) ??) - (forward-char -1))) - - ;; Skip over `#N='s. - (when (eq (preceding-char) ?=) - (let (labeled-p) - (save-excursion - (skip-chars-backward "0-9#=") - (setq labeled-p (looking-at "\\(#[0-9]+=\\)+"))) - (when labeled-p - (forward-sexp -1)))) - - (save-restriction - ;; vladimir@cs.ualberta.ca 30-Jul-1997: skip ` in - ;; `variable' so that the value is returned, not the - ;; name - (if (and ignore-quotes - (eq (following-char) ?`)) - (forward-char)) - (narrow-to-region (point-min) opoint) - (setq expr (read (current-buffer))) - ;; If it's an (interactive ...) form, it's more - ;; useful to show how an interactive call would - ;; use it. - (and (consp expr) - (eq (car expr) 'interactive) - (setq expr - (list 'call-interactively - (list 'quote - (list 'lambda - '(&rest args) - expr - 'args))))) - expr))))))) - (eval-last-sexp-print-value value)))) + (eval-last-sexp-print-value (eval (preceding-sexp))))) + (defun eval-last-sexp-print-value (value) (let ((unabbreviated (let ((print-length nil) (print-level nil)) @@ -628,13 +631,13 @@ this command arranges for all errors to enter the debugger." (interactive "P") (if (null eval-expression-debug-on-error) (eval-last-sexp-1 eval-last-sexp-arg-internal) - (let ((old-value eval-last-sexp-fake-value) new-value value) - (let ((debug-on-error old-value)) - (setq value (eval-last-sexp-1 eval-last-sexp-arg-internal)) - (setq new-value debug-on-error)) - (unless (eq old-value new-value) - (setq debug-on-error new-value)) - value))) + (let ((value + (let ((debug-on-error eval-last-sexp-fake-value)) + (cons (eval-last-sexp-1 eval-last-sexp-arg-internal) + debug-on-error)))) + (unless (eq (cdr value) eval-last-sexp-fake-value) + (setq debug-on-error (cdr value))) + (car value)))) (defun eval-defun-1 (form) "Treat some expressions specially. @@ -730,7 +733,9 @@ If the current defun is actually a call to `defvar' or `defcustom', evaluating it this way resets the variable using its initial value expression even if the variable already has some other value. \(Normally `defvar' and `defcustom' do not alter the value if there -already is one.) +already is one.) In an analogous way, evaluating a `defface' +overrides any customizations of the face, so that it becomes +defined exactly as the `defface' expression says. If `eval-expression-debug-on-error' is non-nil, which is the default, this command arranges for all errors to enter the debugger. @@ -778,8 +783,13 @@ which see." (let ((comment-start nil) (comment-start-skip nil)) (do-auto-fill)))))) -(defvar lisp-indent-offset nil - "If non-nil, indent second line of expressions that many more columns.") +(defcustom lisp-indent-offset nil + "If non-nil, indent second line of expressions that many more columns." + :group 'lisp + :type '(choice nil integer)) +(put 'lisp-body-indent 'safe-local-variable + (lambda (x) (or (null x) (integerp x)))) + (defvar lisp-indent-function 'lisp-indent-function) (defun lisp-indent-line (&optional whole-exp) @@ -930,6 +940,16 @@ is the buffer position of the start of the containing expression." (goto-char indent-point) (skip-chars-forward " \t") (looking-at ":")) + ;; The last sexp may not be at the indentation + ;; where it begins, so find that one, instead. + (save-excursion + (goto-char calculate-lisp-indent-last-sexp) + (while (and (not (looking-back "^[ \t]*")) + (or (not containing-sexp) + (< (1+ containing-sexp) (point)))) + (forward-sexp -1) + (backward-prefix-chars)) + (setq calculate-lisp-indent-last-sexp (point))) (> calculate-lisp-indent-last-sexp (save-excursion (goto-char (1+ containing-sexp)) @@ -1009,8 +1029,11 @@ This function also returns nil meaning don't specify the indentation." (method (funcall method indent-point state))))))) -(defvar lisp-body-indent 2 - "Number of columns to indent the second line of a `(def...)' form.") +(defcustom lisp-body-indent 2 + "Number of columns to indent the second line of a `(def...)' form." + :group 'lisp + :type 'integer) +(put 'lisp-body-indent 'safe-local-variable 'integerp) (defun lisp-indent-specform (count state indent-point normal-indent) (let ((containing-form-start (elt state 1)) diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el index 5254a8389b4..4fd6fe7a17f 100644 --- a/lisp/emacs-lisp/lisp.el +++ b/lisp/emacs-lisp/lisp.el @@ -1,7 +1,7 @@ ;;; lisp.el --- Lisp editing commands for Emacs ;; Copyright (C) 1985, 1986, 1994, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: lisp, languages @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -41,7 +41,8 @@ See function `beginning-of-defun'." (make-variable-buffer-local 'defun-prompt-regexp) (defcustom parens-require-spaces t - "If non-nil, `insert-parentheses' inserts whitespace as needed." + "If non-nil, add whitespace as needed when inserting parentheses. +This affects `insert-parentheses' and `insert-pair'." :type 'boolean :group 'lisp) diff --git a/lisp/emacs-lisp/lmenu.el b/lisp/emacs-lisp/lmenu.el index b558ac58e27..389cb63f304 100644 --- a/lisp/emacs-lisp/lmenu.el +++ b/lisp/emacs-lisp/lmenu.el @@ -1,7 +1,7 @@ ;;; lmenu.el --- emulate Lucid's menubar support ;; Copyright (C) 1992, 1993, 1994, 1997, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Keywords: emulations obsolete @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/lselect.el b/lisp/emacs-lisp/lselect.el index 3f54fa5ca95..6b12e0e9967 100644 --- a/lisp/emacs-lisp/lselect.el +++ b/lisp/emacs-lisp/lselect.el @@ -1,7 +1,7 @@ ;;; lselect.el --- Lucid interface to X Selections ;; Copyright (C) 1990, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: emulations @@ -13,7 +13,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/lucid.el b/lisp/emacs-lisp/lucid.el index 375d7122a9e..5c26a287b34 100644 --- a/lisp/emacs-lisp/lucid.el +++ b/lisp/emacs-lisp/lucid.el @@ -1,7 +1,7 @@ ;;; lucid.el --- emulate some Lucid Emacs functions ;; Copyright (C) 1993, 1995, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: emulations @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/macroexp.el b/lisp/emacs-lisp/macroexp.el index aaf887bd30c..de5efe0845e 100644 --- a/lisp/emacs-lisp/macroexp.el +++ b/lisp/emacs-lisp/macroexp.el @@ -1,6 +1,6 @@ ;;; macroexp.el --- Additional macro-expansion support ;; -;; Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; ;; Author: Miles Bader ;; Keywords: lisp, compiler, macros @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/map-ynp.el b/lisp/emacs-lisp/map-ynp.el index d14394b97a0..fb9efe6da0f 100644 --- a/lisp/emacs-lisp/map-ynp.el +++ b/lisp/emacs-lisp/map-ynp.el @@ -1,7 +1,7 @@ ;;; map-ynp.el --- general-purpose boolean question-asker ;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 2000, 2001, 2002, 2003, -;; 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Roland McGrath ;; Maintainer: FSF @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/pp.el b/lisp/emacs-lisp/pp.el index 66abfdf2c6d..d5e86aae491 100644 --- a/lisp/emacs-lisp/pp.el +++ b/lisp/emacs-lisp/pp.el @@ -1,7 +1,7 @@ ;;; pp.el --- pretty printer for Emacs Lisp ;; Copyright (C) 1989, 1993, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Randal Schwartz ;; Keywords: lisp @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/re-builder.el b/lisp/emacs-lisp/re-builder.el index 2d3b4832cda..9205343c4da 100644 --- a/lisp/emacs-lisp/re-builder.el +++ b/lisp/emacs-lisp/re-builder.el @@ -1,7 +1,7 @@ ;;; re-builder.el --- building Regexps with visual feedback ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Detlev Zundel ;; Keywords: matching, lisp, tools @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/regexp-opt.el b/lisp/emacs-lisp/regexp-opt.el index 34cd97775dc..00f5bf5227a 100644 --- a/lisp/emacs-lisp/regexp-opt.el +++ b/lisp/emacs-lisp/regexp-opt.el @@ -1,7 +1,7 @@ ;;; regexp-opt.el --- generate efficient regexps to match strings ;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -;; 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Simon Marshall ;; Maintainer: FSF @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/regi.el b/lisp/emacs-lisp/regi.el index 208f06e00c1..4d96bd9550b 100644 --- a/lisp/emacs-lisp/regi.el +++ b/lisp/emacs-lisp/regi.el @@ -1,7 +1,7 @@ ;;; regi.el --- REGular expression Interpreting engine ;; Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: 1993 Barry A. Warsaw, Century Computing, Inc. ;; Maintainer: bwarsaw@cen.com @@ -14,7 +14,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/ring.el b/lisp/emacs-lisp/ring.el index a259d2ba514..bcf29bd25bc 100644 --- a/lisp/emacs-lisp/ring.el +++ b/lisp/emacs-lisp/ring.el @@ -1,7 +1,7 @@ ;;; ring.el --- handle rings of items ;; Copyright (C) 1992, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: extensions @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/rx.el b/lisp/emacs-lisp/rx.el index 54f88ba3ea5..662f47a063c 100644 --- a/lisp/emacs-lisp/rx.el +++ b/lisp/emacs-lisp/rx.el @@ -1,7 +1,7 @@ ;;; rx.el --- sexp notation for regular expressions ;; Copyright (C) 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Gerd Moellmann ;; Maintainer: FSF @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -554,7 +554,7 @@ appended to R will apply to all of R. For example, \"a\" This function may return false negatives, but it will not return false positives. It is nevertheless useful in -situations where an efficiency shortcut can be taken iff a +situations where an efficiency shortcut can be taken only if a regexp is atomic. The function can be improved to detect more cases of atomic regexps. Presently, this function detects the following categories of atomic regexp; diff --git a/lisp/emacs-lisp/shadow.el b/lisp/emacs-lisp/shadow.el index 03c3c94b54a..f4a3cd6b931 100644 --- a/lisp/emacs-lisp/shadow.el +++ b/lisp/emacs-lisp/shadow.el @@ -1,7 +1,7 @@ ;;; shadow.el --- locate Emacs Lisp file shadowings ;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Terry Jones ;; Keywords: lisp @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/sregex.el b/lisp/emacs-lisp/sregex.el index 8041aefc077..94711011317 100644 --- a/lisp/emacs-lisp/sregex.el +++ b/lisp/emacs-lisp/sregex.el @@ -1,7 +1,7 @@ ;;; sregex.el --- symbolic regular expressions ;; Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Bob Glickstein ;; Maintainer: Bob Glickstein @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -436,11 +436,11 @@ Here are the clauses allowed in an `sregex' or `sregexq' expression: or end of a word. - the symbol `bow' - Stands for \"\\\\\\=<\", matching the empty string at the beginning of a + Stands for \"\\\\=\\<\", matching the empty string at the beginning of a word. - the symbol `eow' - Stands for \"\\\\\\=>\", matching the empty string at the end of a word. + Stands for \"\\\\=\\>\", matching the empty string at the end of a word. - the symbol `wordchar' Stands for the regex \"\\\\w\", matching a word-constituent character diff --git a/lisp/emacs-lisp/syntax.el b/lisp/emacs-lisp/syntax.el index 13087afcc61..a7c844e3c80 100644 --- a/lisp/emacs-lisp/syntax.el +++ b/lisp/emacs-lisp/syntax.el @@ -1,7 +1,7 @@ ;;; syntax.el --- helper functions to find syntactic context ;; Copyright (C) 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: internal @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/tcover-ses.el b/lisp/emacs-lisp/tcover-ses.el index ad61ffde43d..15ac08a490a 100644 --- a/lisp/emacs-lisp/tcover-ses.el +++ b/lisp/emacs-lisp/tcover-ses.el @@ -1,6 +1,6 @@ ;;;; testcover-ses.el -- Example use of `testcover' to test "SES" -;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Jonathan Yavner ;; Maintainer: Jonathan Yavner @@ -8,7 +8,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/tcover-unsafep.el b/lisp/emacs-lisp/tcover-unsafep.el index ed380c5de50..eb4a3d67c72 100644 --- a/lisp/emacs-lisp/tcover-unsafep.el +++ b/lisp/emacs-lisp/tcover-unsafep.el @@ -1,6 +1,6 @@ ;;;; testcover-unsafep.el -- Use testcover to test unsafep's code coverage -;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Jonathan Yavner ;; Maintainer: Jonathan Yavner @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/testcover.el b/lisp/emacs-lisp/testcover.el index 7d7e788523b..de230ef5915 100644 --- a/lisp/emacs-lisp/testcover.el +++ b/lisp/emacs-lisp/testcover.el @@ -1,6 +1,6 @@ ;;;; testcover.el -- Visual code-coverage tool -;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Jonathan Yavner ;; Maintainer: Jonathan Yavner @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/timer.el b/lisp/emacs-lisp/timer.el index 092611632ca..a6d6e4e9a37 100644 --- a/lisp/emacs-lisp/timer.el +++ b/lisp/emacs-lisp/timer.el @@ -1,7 +1,7 @@ ;;; timer.el --- run a function with args at some time in future ;; Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Maintainer: FSF @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/tq.el b/lisp/emacs-lisp/tq.el index b12c21b6730..034d3cd307c 100644 --- a/lisp/emacs-lisp/tq.el +++ b/lisp/emacs-lisp/tq.el @@ -1,7 +1,7 @@ ;;; tq.el --- utility to maintain a transaction queue ;; Copyright (C) 1985, 1986, 1987, 1992, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Scott Draves ;; Maintainer: FSF @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -100,8 +100,9 @@ to a tcp server on another machine." (defun tq-queue-pop (tq) (setcar tq (cdr (car tq))) (let ((question (tq-queue-head-question tq))) - (when question - (process-send-string (tq-process tq) question))) + (condition-case nil + (process-send-string (tq-process tq) question) + (error nil))) (null (car tq))) (defun tq-enqueue (tq question regexp closure fn &optional delay-question) diff --git a/lisp/emacs-lisp/trace.el b/lisp/emacs-lisp/trace.el index 87c4a409507..4edb496db41 100644 --- a/lisp/emacs-lisp/trace.el +++ b/lisp/emacs-lisp/trace.el @@ -1,7 +1,7 @@ ;;; trace.el --- tracing facility for Emacs Lisp functions ;; Copyright (C) 1993, 1998, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Hans Chalupsky ;; Maintainer: FSF @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lisp/unsafep.el b/lisp/emacs-lisp/unsafep.el index 00e51f09bad..8684adf7182 100644 --- a/lisp/emacs-lisp/unsafep.el +++ b/lisp/emacs-lisp/unsafep.el @@ -1,6 +1,6 @@ ;;;; unsafep.el -- Determine whether a Lisp form is safe to evaluate -;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Jonathan Yavner ;; Maintainer: Jonathan Yavner @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -116,9 +116,9 @@ in the parse.") ;;;###autoload (defun unsafep (form &optional unsafep-vars) - "Return nil if evaluating FORM couldn't possibly do any harm; -otherwise result is a reason why FORM is unsafe. UNSAFEP-VARS is a list -of symbols with local bindings." + "Return nil if evaluating FORM couldn't possibly do any harm. +Otherwise result is a reason why FORM is unsafe. +UNSAFEP-VARS is a list of symbols with local bindings." (catch 'unsafep (if (or (eq safe-functions t) ;User turned off safety-checking (atom form)) ;Atoms are never unsafe @@ -212,9 +212,9 @@ of symbols with local bindings." (defun unsafep-function (fun) - "Return nil iff FUN is a safe function. -\(either a safe lambda or a symbol that names a safe function). Otherwise -result is a reason code." + "Return nil if FUN is a safe function. +\(Either a safe lambda or a symbol that names a safe function). +Otherwise result is a reason code." (cond ((eq (car-safe fun) 'lambda) (unsafep fun unsafep-vars)) @@ -226,8 +226,8 @@ result is a reason code." `(function ,fun)))) (defun unsafep-progn (list) - "Return nil if all forms in LIST are safe, or the reason -for the first unsafe form." + "Return nil if all forms in LIST are safe. +Else, return the reason for the first unsafe form." (catch 'unsafep-progn (let (reason) (dolist (x list) @@ -236,8 +236,9 @@ for the first unsafe form." (defun unsafep-let (clause) "Check the safety of a let binding. -CLAUSE is a let-binding, either SYM or (SYM) or (SYM VAL). Checks VAL -and throws a reason to `unsafep' if unsafe. Returns SYM." +CLAUSE is a let-binding, either SYM or (SYM) or (SYM VAL). +Check VAL and throw a reason to `unsafep' if unsafe. +Return SYM." (let (reason sym) (if (atom clause) (setq sym clause) diff --git a/lisp/emacs-lisp/warnings.el b/lisp/emacs-lisp/warnings.el index 99b0b3f3448..0bdcbf1a162 100644 --- a/lisp/emacs-lisp/warnings.el +++ b/lisp/emacs-lisp/warnings.el @@ -1,6 +1,6 @@ ;;; warnings.el --- log and display warnings -;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: internal @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emacs-lock.el b/lisp/emacs-lock.el index dc93f093f9e..92745edd70e 100644 --- a/lisp/emacs-lock.el +++ b/lisp/emacs-lock.el @@ -1,7 +1,7 @@ ;;; emacs-lock.el --- prevents you from exiting Emacs if a buffer is locked ;; Copyright (C) 1994, 1997, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc ;; Author: Tom Wurgler ;; Created: 12/8/94 @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emulation/crisp.el b/lisp/emulation/crisp.el index 106eff8e631..b5fd7ee602c 100644 --- a/lisp/emulation/crisp.el +++ b/lisp/emulation/crisp.el @@ -1,7 +1,7 @@ ;;; crisp.el --- CRiSP/Brief Emacs emulator ;; Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Gary D. Foster ;; Keywords: emulations brief crisp @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el index 653597fb83b..921e6fa83f5 100644 --- a/lisp/emulation/cua-base.el +++ b/lisp/emulation/cua-base.el @@ -1,7 +1,7 @@ ;;; cua-base.el --- emulate CUA key bindings ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Kim F. Storm ;; Keywords: keyboard emulation convenience cua @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -286,7 +286,7 @@ enabled." "*If non-nil, only highlight region if marked with S-. When this is non-nil, CUA toggles `transient-mark-mode' on when the region is marked using shifted movement keys, and off when the mark is cleared. -But when the mark was set using \\[cua-set-mark], transient-mark-mode +But when the mark was set using \\[cua-set-mark], Transient Mark mode is not turned on." :type 'boolean :group 'cua) @@ -951,8 +951,8 @@ If global mark is active, copy from register or one character." (defun cua-paste-pop (arg) "Replace a just-pasted text or rectangle with a different text. -See `yank-pop' for details about the default behaviour. For an alternative -behaviour, see `cua-paste-pop-rotate-temporarily'." +See `yank-pop' for details about the default behavior. For an alternative +behavior, see `cua-paste-pop-rotate-temporarily'." (interactive "P") (cond ((eq last-command 'cua--paste-rectangle) @@ -1596,23 +1596,6 @@ shifted movement key, set `cua-highlight-region-shift-only'." (interactive) (setq cua--debug (not cua--debug))) -;; Install run-time check for older versions of CUA-mode which does not -;; work with GNU Emacs version 22.1 and newer. -;; -;; Except for version 1.2, all of the 1.x and 2.x version of cua-mode -;; provided the `CUA-mode' feature. Since this is no longer true, -;; we can warn the user if the `CUA-mode' feature is ever provided. - -;;;###autoload (eval-after-load 'CUA-mode -;;;###autoload '(error (concat "\n\n" -;;;###autoload "CUA-mode is now part of the standard GNU Emacs distribution, so you may\n" -;;;###autoload "now enable CUA via the Options menu or by customizing option `cua-mode'.\n\n" -;;;###autoload "You have loaded an older version of CUA-mode which does\n" -;;;###autoload "not work correctly with this version of GNU Emacs.\n\n" -;;;###autoload (if user-init-file (concat -;;;###autoload "To correct this, remove the loading and customization of the\n" -;;;###autoload "old version from the " user-init-file " file.\n\n"))))) - (provide 'cua) ;;; arch-tag: 21fb6289-ba25-4fee-bfdc-f9fb351acf05 diff --git a/lisp/emulation/cua-gmrk.el b/lisp/emulation/cua-gmrk.el index 9f4469eff0f..504f59c4a06 100644 --- a/lisp/emulation/cua-gmrk.el +++ b/lisp/emulation/cua-gmrk.el @@ -1,7 +1,7 @@ ;;; cua-gmrk.el --- CUA unified global mark support ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Kim F. Storm ;; Keywords: keyboard emulations convenience cua mark @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emulation/cua-rect.el b/lisp/emulation/cua-rect.el index 7735302339f..447f2a2ad78 100644 --- a/lisp/emulation/cua-rect.el +++ b/lisp/emulation/cua-rect.el @@ -1,7 +1,7 @@ ;;; cua-rect.el --- CUA unified rectangle support ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Kim F. Storm ;; Keywords: keyboard emulations convenience CUA @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emulation/edt-lk201.el b/lisp/emulation/edt-lk201.el index 54cb1b763e0..91db5bc70f9 100644 --- a/lisp/emulation/edt-lk201.el +++ b/lisp/emulation/edt-lk201.el @@ -1,7 +1,7 @@ ;;; edt-lk201.el --- enhanced EDT keypad mode emulation for LK-201 keyboards ;; Copyright (C) 1986, 1992, 1993, 1995, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Kevin Gallagher ;; Maintainer: Kevin Gallagher @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emulation/edt-mapper.el b/lisp/emulation/edt-mapper.el index deae60a9714..acc9f165b13 100644 --- a/lisp/emulation/edt-mapper.el +++ b/lisp/emulation/edt-mapper.el @@ -1,7 +1,7 @@ ;;; edt-mapper.el --- create an EDT LK-201 map file for X-Windows Emacs ;; Copyright (C) 1994, 1995, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Kevin Gallagher ;; Maintainer: Kevin Gallagher @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emulation/edt-pc.el b/lisp/emulation/edt-pc.el index 309f03615cf..5bfaf828ea6 100644 --- a/lisp/emulation/edt-pc.el +++ b/lisp/emulation/edt-pc.el @@ -1,7 +1,7 @@ ;;; edt-pc.el --- enhanced EDT keypad mode emulation for PC 101 keyboards ;; Copyright (C) 1986, 1994, 1995, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Kevin Gallagher ;; Maintainer: Kevin Gallagher @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emulation/edt-vt100.el b/lisp/emulation/edt-vt100.el index e6321ddc2ce..c2a778d3a0d 100644 --- a/lisp/emulation/edt-vt100.el +++ b/lisp/emulation/edt-vt100.el @@ -1,7 +1,7 @@ ;;; edt-vt100.el --- enhanced EDT keypad mode emulation for VT series terminals ;; Copyright (C) 1986, 1992, 1993, 1995, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Kevin Gallagher ;; Maintainer: Kevin Gallagher @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emulation/edt.el b/lisp/emulation/edt.el index 45e26a1e23e..880bc0b55c6 100644 --- a/lisp/emulation/edt.el +++ b/lisp/emulation/edt.el @@ -1,7 +1,7 @@ ;;; edt.el --- enhanced EDT keypad mode emulation for GNU Emacs 19 ;; Copyright (C) 1986, 1992, 1993, 1994, 1995, 2000, 2001, 2002, 2003, -;; 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Kevin Gallagher ;; Maintainer: Kevin Gallagher @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published -;; by the Free Software Foundation; either version 2, or (at your +;; by the Free Software Foundation; either version 3, or (at your ;; option) any later version. ;; GNU Emacs is distributed in the hope that it will be useful, but diff --git a/lisp/emulation/keypad.el b/lisp/emulation/keypad.el index 28054c2dcb3..78cba6c0ca6 100644 --- a/lisp/emulation/keypad.el +++ b/lisp/emulation/keypad.el @@ -1,7 +1,7 @@ ;;; keypad.el --- simplified keypad bindings ;; Copyright (C) 2002, 2003, 2004, 2005, 2006, -;; 2007 Free Software Foundation, Inc. +;; 2007, 2008 Free Software Foundation, Inc. ;; Author: Kim F. Storm ;; Keywords: keyboard convenience @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emulation/pc-mode.el b/lisp/emulation/pc-mode.el index ce58205ba93..075da633cef 100644 --- a/lisp/emulation/pc-mode.el +++ b/lisp/emulation/pc-mode.el @@ -1,7 +1,7 @@ ;;; pc-mode.el --- emulate certain key bindings used on PCs ;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: emulations @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emulation/pc-select.el b/lisp/emulation/pc-select.el index d6f7fdc2cc1..111ff5e295d 100644 --- a/lisp/emulation/pc-select.el +++ b/lisp/emulation/pc-select.el @@ -3,7 +3,7 @@ ;;; including key bindings. ;; Copyright (C) 1995, 1996, 1997, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Michael Staats ;; Keywords: convenience emulation @@ -13,7 +13,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emulation/tpu-edt.el b/lisp/emulation/tpu-edt.el index 8d65a267c4e..62e0420de1c 100644 --- a/lisp/emulation/tpu-edt.el +++ b/lisp/emulation/tpu-edt.el @@ -1,7 +1,7 @@ ;;; tpu-edt.el --- Emacs emulating TPU emulating EDT ;; Copyright (C) 1993, 1994, 1995, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Rob Riepel ;; Maintainer: Rob Riepel @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -273,6 +273,7 @@ ;;; Code: +(eval-when-compile (require 'cl)) ;; we use picture-mode functions (require 'picture) @@ -826,10 +827,13 @@ Create the key map if necessary." (use-local-map tpu-buffer-local-map))) (local-set-key key func)) -(defun tpu-current-line nil +(defun tpu-current-line () "Return the vertical position of point in the selected window. Top line is 0. Counts each text line only once, even if it wraps." - (+ (count-lines (window-start) (point)) (if (= (current-column) 0) 1 0) -1)) + (or + (cdr (nth 6 (posn-at-point))) + (if (eq (window-start) (point)) 0 + (1- (count-screen-lines (window-start) (point) 'count-final-newline))))) ;;; @@ -1069,13 +1073,6 @@ This is useful for inserting control characters." (defalias 'tpu-error 'error) -;; Around emacs version 18.57, function line-move was renamed to -;; next-line-internal. If we're running under an older emacs, -;; make next-line-internal equivalent to line-move. - -(if (not (fboundp 'next-line-internal)) (fset 'next-line-internal 'line-move)) - - ;;; ;;; Help ;;; @@ -2026,14 +2023,14 @@ With argument, do this that many times." "Move to next line. Prefix argument serves as a repeat count." (interactive "p") - (next-line-internal num) + (line-move num) (setq this-command 'next-line)) (defun tpu-previous-line (num) "Move to previous line. Prefix argument serves as a repeat count." (interactive "p") - (next-line-internal (- num)) + (line-move (- num)) (setq this-command 'previous-line)) (defun tpu-next-beginning-of-line (num) @@ -2156,7 +2153,7 @@ A repeat count means scroll that many sections." (let* ((beg (tpu-current-line)) (height (1- (window-height))) (lines (* num (/ (* height tpu-percent-scroll) 100)))) - (next-line-internal (- lines)) + (line-move (- lines)) (if (> lines beg) (recenter 0)))) (defun tpu-scroll-window-up (num) @@ -2166,7 +2163,7 @@ A repeat count means scroll that many sections." (let* ((beg (tpu-current-line)) (height (1- (window-height))) (lines (* num (/ (* height tpu-percent-scroll) 100)))) - (next-line-internal lines) + (line-move lines) (if (>= (+ lines beg) height) (recenter -1)))) (defun tpu-pan-right (num) @@ -2439,6 +2436,7 @@ If FILE is nil, try to load a default file. The default file names are (tpu-error (message "Sorry, couldn't copy - %s." (cdr conditions))))) (kill-buffer "*TPU-Notice*"))) +(defvar tpu-edt-old-global-values nil) ;;; ;;; Start and Stop TPU-edt @@ -2447,6 +2445,8 @@ If FILE is nil, try to load a default file. The default file names are (defun tpu-edt-on () "Turn on TPU/edt emulation." (interactive) + ;; To clean things up (and avoid cycles in the global map). + (tpu-edt-off) ;; First, activate tpu-global-map, while protecting the original keymap. (set-keymap-parent tpu-global-map global-map) (setq global-map tpu-global-map) @@ -2457,9 +2457,12 @@ If FILE is nil, try to load a default file. The default file names are (tpu-set-mode-line t) (tpu-advance-direction) ;; set page delimiter, display line truncation, and scrolling like TPU - (setq-default page-delimiter "\f") - (setq-default truncate-lines t) - (setq scroll-step 1) + (dolist (varval '((page-delimiter . "\f") + (truncate-lines . t) + (scroll-step . 1))) + (push (cons (car varval) (default-value (car varval))) + tpu-edt-old-global-values) + (set-default (car varval) (cdr varval))) (tpu-set-control-keys) (and window-system (tpu-load-xkeys nil)) (tpu-arrow-history) @@ -2476,9 +2479,9 @@ If FILE is nil, try to load a default file. The default file names are (tpu-reset-control-keys nil) (remove-hook 'post-command-hook 'tpu-search-highlight) (tpu-set-mode-line nil) - (setq-default page-delimiter "^\f") - (setq-default truncate-lines nil) - (setq scroll-step 0) + (while tpu-edt-old-global-values + (let ((varval (pop tpu-edt-old-global-values))) + (set-default (car varval) (cdr varval)))) ;; Remove tpu-global-map from the global map. (let ((map global-map)) (while map @@ -2486,6 +2489,7 @@ If FILE is nil, try to load a default file. The default file names are (if (eq tpu-global-map parent) (set-keymap-parent map (keymap-parent parent)) (setq map parent))))) + (ignore-errors (ad-disable-regexp "\\`tpu-")) (setq tpu-edt-mode nil)) (provide 'tpu-edt) diff --git a/lisp/emulation/tpu-extras.el b/lisp/emulation/tpu-extras.el index e368d7b963f..4946a775703 100644 --- a/lisp/emulation/tpu-extras.el +++ b/lisp/emulation/tpu-extras.el @@ -1,7 +1,7 @@ ;;; tpu-extras.el --- scroll margins and free cursor mode for TPU-edt ;; Copyright (C) 1993, 1994, 1995, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Rob Riepel ;; Maintainer: Rob Riepel @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -141,13 +141,11 @@ the previous line when starting from a line beginning." (add-hook 'picture-mode-hook 'tpu-set-cursor-free) -(defun tpu-write-file-hook nil +(defun tpu-before-save-hook () "Eliminate whitespace at ends of lines, if the cursor is free." (if (and (buffer-modified-p) tpu-cursor-free) (tpu-trim-line-ends))) -(or (memq 'tpu-write-file-hook write-file-functions) - (setq write-file-functions - (cons 'tpu-write-file-hook write-file-functions))) +(add-hook 'before-save-hook 'tpu-before-save-hook) ;;; Utility routines for implementing scroll margins @@ -198,7 +196,7 @@ Prefix argument serves as a repeat count." (interactive "p") (let ((beg (tpu-current-line))) (if tpu-cursor-free (or (eobp) (picture-move-down num)) - (next-line-internal num)) + (line-move num)) (tpu-bottom-check beg num) (setq this-command 'next-line))) @@ -207,7 +205,7 @@ Prefix argument serves as a repeat count." Prefix argument serves as a repeat count." (interactive "p") (let ((beg (tpu-current-line))) - (if tpu-cursor-free (picture-move-up num) (next-line-internal (- num))) + (if tpu-cursor-free (picture-move-up num) (line-move (- num))) (tpu-top-check beg num) (setq this-command 'previous-line))) @@ -246,7 +244,7 @@ Accepts a prefix argument for the number of lines to move." (end-of-line (- 1 num)))) (tpu-top-check beg num))) -(defun tpu-current-end-of-line nil +(defun tpu-current-end-of-line () "Move point to end of current line." (interactive) (let ((beg (point))) @@ -258,7 +256,7 @@ Accepts a prefix argument for the number of lines to move." Prefix argument serves as a repeat count." (interactive "p") (let ((beg (tpu-current-line))) - (next-line-internal num) + (line-move num) (tpu-bottom-check beg num) (beginning-of-line))) @@ -268,7 +266,7 @@ Prefix argument serves as repeat count." (interactive "p") (let ((beg (tpu-current-line))) (or (bolp) (>= 0 num) (setq num (- num 1))) - (next-line-internal (- num)) + (line-move (- num)) (tpu-top-check beg num) (beginning-of-line))) @@ -348,7 +346,7 @@ A repeat count means scroll that many sections." (let* ((beg (tpu-current-line)) (height (1- (window-height))) (lines (* num (/ (* height tpu-percent-scroll) 100)))) - (next-line-internal (- lines)) + (line-move (- lines)) (tpu-top-check beg lines))) (defun tpu-scroll-window-up (num) @@ -358,7 +356,7 @@ A repeat count means scroll that many sections." (let* ((beg (tpu-current-line)) (height (1- (window-height))) (lines (* num (/ (* height tpu-percent-scroll) 100)))) - (next-line-internal lines) + (line-move lines) (tpu-bottom-check beg lines))) @@ -392,41 +390,24 @@ A repeat count means scroll that many sections." -;;; Replace the newline, newline-and-indent, and do-auto-fill functions - -(or (fboundp 'tpu-old-newline) - (fset 'tpu-old-newline (symbol-function 'newline))) -(or (fboundp 'tpu-old-do-auto-fill) - (fset 'tpu-old-do-auto-fill (symbol-function 'do-auto-fill))) -(or (fboundp 'tpu-old-newline-and-indent) - (fset 'tpu-old-newline-and-indent (symbol-function 'newline-and-indent))) - -(defun newline (&optional num) - "Insert a newline. With arg, insert that many newlines. -In Auto Fill mode, can break the preceding line if no numeric arg. -This is the TPU-edt version that respects the bottom scroll margin." - (interactive "p") - (let ((beg (tpu-current-line))) - (or num (setq num 1)) - (tpu-old-newline num) +;; Advise the newline, newline-and-indent, and do-auto-fill functions. +(defadvice newline (around tpu-respect-bottom-scroll-margin activate disable) + "Respect `tpu-bottom-scroll-margin'." + (let ((beg (tpu-current-line)) + (num (prefix-numeric-value (ad-get-arg 0)))) + ad-do-it (tpu-bottom-check beg num))) -(defun newline-and-indent nil - "Insert a newline, then indent according to major mode. -Indentation is done using the current indent-line-function. -In programming language modes, this is the same as TAB. -In some text modes, where TAB inserts a tab, this indents -to the specified left-margin column. This is the TPU-edt -version that respects the bottom scroll margin." - (interactive) +(defadvice newline-and-indent (around tpu-respect-bottom-scroll-margin) + "Respect `tpu-bottom-scroll-margin'." (let ((beg (tpu-current-line))) - (tpu-old-newline-and-indent) + ad-do-it (tpu-bottom-check beg 1))) -(defun do-auto-fill nil - "TPU-edt version that respects the bottom scroll margin." +(defadvice do-auto-fill (around tpu-respect-bottom-scroll-margin) + "Respect `tpu-bottom-scroll-margin'." (let ((beg (tpu-current-line))) - (tpu-old-do-auto-fill) + ad-do-it (tpu-bottom-check beg 1))) @@ -440,18 +421,21 @@ version that respects the bottom scroll margin." \nsEnter bottom scroll margin (N lines or N%% or RETURN for current value): ") ;; set top scroll margin (or (string= top "") - (if (string= "%" (substring top -1)) - (setq tpu-top-scroll-margin (string-to-number top)) - (setq tpu-top-scroll-margin + (setq tpu-top-scroll-margin + (if (string= "%" (substring top -1)) + (string-to-number top) (/ (1- (+ (* (string-to-number top) 100) (window-height))) (window-height))))) ;; set bottom scroll margin (or (string= bottom "") - (if (string= "%" (substring bottom -1)) - (setq tpu-bottom-scroll-margin (string-to-number bottom)) - (setq tpu-bottom-scroll-margin + (setq tpu-bottom-scroll-margin + (if (string= "%" (substring bottom -1)) + (string-to-number bottom) (/ (1- (+ (* (string-to-number bottom) 100) (window-height))) (window-height))))) + (dolist (f '(newline newline-and-indent do-auto-fill)) + (ad-enable-advice f 'around 'tpu-respect-bottom-scroll-margin) + (ad-activate f)) ;; report scroll margin settings if running interactively (and (interactive-p) (message "Scroll margins set. Top = %s%%, Bottom = %s%%" @@ -461,7 +445,7 @@ version that respects the bottom scroll margin." ;;; Functions to set cursor bound or free ;;;###autoload -(defun tpu-set-cursor-free nil +(defun tpu-set-cursor-free () "Allow the cursor to move freely about the screen." (interactive) (setq tpu-cursor-free t) @@ -471,7 +455,7 @@ version that respects the bottom scroll margin." (message "The cursor will now move freely about the screen.")) ;;;###autoload -(defun tpu-set-cursor-bound nil +(defun tpu-set-cursor-bound () "Constrain the cursor to the flow of the text." (interactive) (tpu-trim-line-ends) @@ -481,5 +465,5 @@ version that respects the bottom scroll margin." GOLD-map) (message "The cursor is now bound to the flow of your text.")) -;;; arch-tag: 89676fa4-33ec-48cb-9135-6f3bf230ab1a +;; arch-tag: 89676fa4-33ec-48cb-9135-6f3bf230ab1a ;;; tpu-extras.el ends here diff --git a/lisp/emulation/tpu-mapper.el b/lisp/emulation/tpu-mapper.el index 975e61c8df3..1e39687d1a8 100644 --- a/lisp/emulation/tpu-mapper.el +++ b/lisp/emulation/tpu-mapper.el @@ -1,7 +1,7 @@ ;;; tpu-mapper.el --- create a TPU-edt X-windows keymap file ;; Copyright (C) 1993, 1994, 1995, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Rob Riepel ;; Maintainer: Rob Riepel @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emulation/vi.el b/lisp/emulation/vi.el index 54fb2d1e997..977a7980803 100644 --- a/lisp/emulation/vi.el +++ b/lisp/emulation/vi.el @@ -788,7 +788,7 @@ The given COUNT is remembered for future scrollings." "Go down count lines, try to keep at the same column." (interactive "p") (setq this-command 'next-line) ; this is a needed trick - (if (= (point) (or (line-move count) (point))) + (if (= (point) (progn (line-move count) (point))) (ding) ; no moving, already at end of buffer (setq last-command 'next-line))) diff --git a/lisp/emulation/vip.el b/lisp/emulation/vip.el index 33cabd73ca7..5a4e0cbbd5f 100644 --- a/lisp/emulation/vip.el +++ b/lisp/emulation/vip.el @@ -1,7 +1,7 @@ ;;; vip.el --- a VI Package for GNU Emacs ;; Copyright (C) 1986, 1987, 1988, 1992, 1993, 1998, 2001, 2002, 2003, -;; 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Masahiko Sato ;; Keywords: emulations @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emulation/viper-cmd.el b/lisp/emulation/viper-cmd.el index 9bd1654020b..4da698fdd0d 100644 --- a/lisp/emulation/viper-cmd.el +++ b/lisp/emulation/viper-cmd.el @@ -1,7 +1,7 @@ ;;; viper-cmd.el --- Vi command support for Viper ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Michael Kifer @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emulation/viper-ex.el b/lisp/emulation/viper-ex.el index 447ee62533c..23e399fa79b 100644 --- a/lisp/emulation/viper-ex.el +++ b/lisp/emulation/viper-ex.el @@ -1,7 +1,7 @@ ;;; viper-ex.el --- functions implementing the Ex commands for Viper ;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003, -;; 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Michael Kifer @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emulation/viper-init.el b/lisp/emulation/viper-init.el index 86e0e044641..2e06b24e0bb 100644 --- a/lisp/emulation/viper-init.el +++ b/lisp/emulation/viper-init.el @@ -1,7 +1,7 @@ ;;; viper-init.el --- some common definitions for Viper ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Michael Kifer @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emulation/viper-keym.el b/lisp/emulation/viper-keym.el index 9dd78ce8aa1..7a84a936b3b 100644 --- a/lisp/emulation/viper-keym.el +++ b/lisp/emulation/viper-keym.el @@ -1,7 +1,7 @@ ;;; viper-keym.el --- Viper keymaps ;; Copyright (C) 1994, 1995, 1996, 1997, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Michael Kifer @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emulation/viper-macs.el b/lisp/emulation/viper-macs.el index 5bd43a29a0c..094bfcd3a0a 100644 --- a/lisp/emulation/viper-macs.el +++ b/lisp/emulation/viper-macs.el @@ -1,7 +1,7 @@ ;;; viper-macs.el --- functions implementing keyboard macros for Viper ;; Copyright (C) 1994, 1995, 1996, 1997, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Michael Kifer @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emulation/viper-mous.el b/lisp/emulation/viper-mous.el index 59a83a076b6..841c0c68953 100644 --- a/lisp/emulation/viper-mous.el +++ b/lisp/emulation/viper-mous.el @@ -1,7 +1,7 @@ ;;; viper-mous.el --- mouse support for Viper ;; Copyright (C) 1994, 1995, 1996, 1997, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Michael Kifer @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emulation/viper-util.el b/lisp/emulation/viper-util.el index 0419af5fedf..ab62aa20056 100644 --- a/lisp/emulation/viper-util.el +++ b/lisp/emulation/viper-util.el @@ -1,7 +1,7 @@ ;;; viper-util.el --- Utilities used by viper.el ;; Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, -;; 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Michael Kifer @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emulation/viper.el b/lisp/emulation/viper.el index 67ec3660c65..5eaf4c70d5c 100644 --- a/lisp/emulation/viper.el +++ b/lisp/emulation/viper.el @@ -4,7 +4,7 @@ ;; Viper Is also a Package for Emacs Rebels. ;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -;; 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Michael Kifer ;; Keywords: emulations @@ -16,7 +16,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/emulation/ws-mode.el b/lisp/emulation/ws-mode.el index 3df3a7333a1..80fcfd333ed 100644 --- a/lisp/emulation/ws-mode.el +++ b/lisp/emulation/ws-mode.el @@ -1,7 +1,7 @@ ;;; ws-mode.el --- WordStar emulation mode for GNU Emacs ;; Copyright (C) 1991, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Juergen Nickelsen ;; Version: 0.7 @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/env.el b/lisp/env.el index 167bc0f2f2b..b0235754906 100644 --- a/lisp/env.el +++ b/lisp/env.el @@ -1,7 +1,7 @@ ;;; env.el --- functions to manipulate environment variables ;; Copyright (C) 1991, 1994, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: processes, unix @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog index 70ffa4ede48..061bfc55444 100644 --- a/lisp/erc/ChangeLog +++ b/lisp/erc/ChangeLog @@ -1,3 +1,38 @@ +2008-02-05 Juanma Barranquero + + * erc.el (erc-valid-nick-regexp): + * erc-button.el (erc-button-syntax-table): + * erc-match.el (erc-match-syntax-table): Replace `legal' with `valid'. + +2007-11-15 Juanma Barranquero + + * erc.el (erc-open): + * erc-backend.el (define-erc-response-handler): + * erc-log.el (log): + * erc-match.el (erc-log-matches): Fix typos in docstrings. + +2007-08-08 Glenn Morris + + * erc-log.el, erc.el: Replace `iff' in doc-strings and comments. + +2007-07-30 Michael Olson + + * erc-nicklist.el: Remove from the Emacs source tree. This file + is not release quality, and relies heavily on a module which + cannot be distributed with ERC due to licensing reasons. + +2007-07-25 Glenn Morris + + * Relicense all FSF files to GPLv3 or later. + +2007-06-07 Juanma Barranquero + + * erc.el (erc-startup-file-list): Fix typo in docstring. + +2007-06-06 Juanma Barranquero + + * erc.el (erc-show-channel-key-p): Fix typo in docstring. + 2007-04-01 Michael Olson * erc.el (erc-version-string): Release ERC 5.2. @@ -352,13 +387,13 @@ See ChangeLog.06 for earlier changes. - Copyright (C) 2007 Free Software Foundation, Inc. + Copyright (C) 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/ChangeLog.01 b/lisp/erc/ChangeLog.01 index 99c34a22d2a..018610ab3e5 100644 --- a/lisp/erc/ChangeLog.01 +++ b/lisp/erc/ChangeLog.01 @@ -1035,13 +1035,13 @@ * erc-speak.el 1.1, erc.el 1.1: New file. - Copyright (C) 2001, 2006, 2007 Free Software Foundation, Inc. + Copyright (C) 2001, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/ChangeLog.02 b/lisp/erc/ChangeLog.02 index 85be89c18fe..93ded7acc77 100644 --- a/lisp/erc/ChangeLog.02 +++ b/lisp/erc/ChangeLog.02 @@ -2596,13 +2596,13 @@ See ChangeLog.01 for earlier changes. - Copyright (C) 2002, 2006, 2007 Free Software Foundation, Inc. + Copyright (C) 2002, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/ChangeLog.03 b/lisp/erc/ChangeLog.03 index aade9cde87d..ea5f0945920 100644 --- a/lisp/erc/ChangeLog.03 +++ b/lisp/erc/ChangeLog.03 @@ -2140,13 +2140,13 @@ See ChangeLog.02 for earlier changes. - Copyright (C) 2003, 2006, 2007 Free Software Foundation, Inc. + Copyright (C) 2003, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/ChangeLog.04 b/lisp/erc/ChangeLog.04 index feaead14f13..b13cdb0514c 100644 --- a/lisp/erc/ChangeLog.04 +++ b/lisp/erc/ChangeLog.04 @@ -2069,13 +2069,13 @@ See ChangeLog.03 for earlier changes. - Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. + Copyright (C) 2004, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/ChangeLog.05 b/lisp/erc/ChangeLog.05 index 0d2ff8afd35..fa6095d08ce 100644 --- a/lisp/erc/ChangeLog.05 +++ b/lisp/erc/ChangeLog.05 @@ -1217,13 +1217,13 @@ See ChangeLog.04 for earlier changes. - Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. + Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/ChangeLog.06 b/lisp/erc/ChangeLog.06 index f7d891cb5f6..c648f9ef30c 100644 --- a/lisp/erc/ChangeLog.06 +++ b/lisp/erc/ChangeLog.06 @@ -1430,13 +1430,13 @@ See ChangeLog.05 for earlier changes. - Copyright (C) 2006, 2007 Free Software Foundation, Inc. + Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-autoaway.el b/lisp/erc/erc-autoaway.el index 91a1150802b..cbfdd0786aa 100644 --- a/lisp/erc/erc-autoaway.el +++ b/lisp/erc/erc-autoaway.el @@ -1,6 +1,6 @@ ;;; erc-autoaway.el --- Provides autoaway for ERC -;; Copyright (C) 2002, 2003, 2004, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Jorgen Schaefer ;; URL: http://www.emacswiki.org/cgi-bin/wiki.pl?ErcAutoAway @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-backend.el b/lisp/erc/erc-backend.el index 08cb738d360..eff0157c2ff 100644 --- a/lisp/erc/erc-backend.el +++ b/lisp/erc/erc-backend.el @@ -1,6 +1,6 @@ ;;; erc-backend.el --- Backend network communication for ERC -;; Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Filename: erc-backend.el ;; Author: Lawrence Mitchell @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -1000,13 +1000,13 @@ NAME is the response name as sent by the server (see the IRC RFC for meanings). This creates: - - a hook variable `erc-server-NAME-functions' initialised to `erc-server-NAME'. + - a hook variable `erc-server-NAME-functions' initialized to `erc-server-NAME'. - a function `erc-server-NAME' with body FN-BODY. If ALIASES is non-nil, each alias in ALIASES is `defalias'ed to `erc-server-NAME'. Alias hook variables are created as `erc-server-ALIAS-functions' and -initialised to the same default value as `erc-server-NAME-functions'. +initialized to the same default value as `erc-server-NAME-functions'. FN-BODY is the body of `erc-server-NAME' it may refer to the two function arguments PROC and PARSED. diff --git a/lisp/erc/erc-button.el b/lisp/erc/erc-button.el index 435c72bba23..249715f2674 100644 --- a/lisp/erc/erc-button.el +++ b/lisp/erc/erc-button.el @@ -1,7 +1,7 @@ ;; erc-button.el --- A way of buttonizing certain things in ERC buffers ;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Mario Lang ;; Keywords: irc, button, url, regexp @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -240,7 +240,7 @@ PAR is a number of a regexp grouping whose text will be passed to (modify-syntax-entry ?\\ "w" table) table) "Syntax table used when buttonizing messages. -This syntax table should make all the legal nick characters word +This syntax table should make all the valid nick characters word constituents.") (defvar erc-button-keys-added nil diff --git a/lisp/erc/erc-capab.el b/lisp/erc/erc-capab.el index b7ccade02e0..4876dec41e2 100644 --- a/lisp/erc/erc-capab.el +++ b/lisp/erc/erc-capab.el @@ -1,10 +1,10 @@ ;;; erc-capab.el --- support for dancer-ircd and hyperion's CAPAB -;; Copyright (C) 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc. ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-compat.el b/lisp/erc/erc-compat.el index dcfcfe84c98..66ab51e8f48 100644 --- a/lisp/erc/erc-compat.el +++ b/lisp/erc/erc-compat.el @@ -1,6 +1,6 @@ ;;; erc-compat.el --- ERC compatibility code for XEmacs -;; Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Alex Schroeder ;; URL: http://www.emacswiki.org/cgi-bin/wiki/ERC @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-dcc.el b/lisp/erc/erc-dcc.el index 2c906af4516..8158c0999d3 100644 --- a/lisp/erc/erc-dcc.el +++ b/lisp/erc/erc-dcc.el @@ -1,6 +1,6 @@ ;;; erc-dcc.el --- CTCP DCC module for ERC -;; Copyright (C) 1993, 1994, 1995, 1998, 2002, 2003, 2004, 2006, 2007 +;; Copyright (C) 1993, 1994, 1995, 1998, 2002, 2003, 2004, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Author: Ben A. Mesander @@ -14,7 +14,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-ezbounce.el b/lisp/erc/erc-ezbounce.el index f63682c51ff..ff0412903b2 100644 --- a/lisp/erc/erc-ezbounce.el +++ b/lisp/erc/erc-ezbounce.el @@ -1,6 +1,6 @@ ;;; erc-ezbounce.el --- Handle EZBounce bouncer commands -;; Copyright (C) 2002, 2004, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2002, 2004, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Andreas Fuchs ;; Keywords: comm @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-fill.el b/lisp/erc/erc-fill.el index fc1c71babdf..6ef5774fb87 100644 --- a/lisp/erc/erc-fill.el +++ b/lisp/erc/erc-fill.el @@ -1,7 +1,7 @@ ;;; erc-fill.el --- Filling IRC messages in various ways ;; Copyright (C) 2001, 2002, 2003, 2004, 2006, -;; 2007 Free Software Foundation, Inc. +;; 2007, 2008 Free Software Foundation, Inc. ;; Author: Andreas Fuchs ;; Mario Lang @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-goodies.el b/lisp/erc/erc-goodies.el index 933e6b34b52..dc443b9b615 100644 --- a/lisp/erc/erc-goodies.el +++ b/lisp/erc/erc-goodies.el @@ -1,6 +1,6 @@ ;; erc-goodies.el --- Collection of ERC modules -;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ;; Free Software Foundation, Inc. ;; Author: Jorgen Schaefer @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-hecomplete.el b/lisp/erc/erc-hecomplete.el index e6f91ce8998..75cc50a723c 100644 --- a/lisp/erc/erc-hecomplete.el +++ b/lisp/erc/erc-hecomplete.el @@ -1,6 +1,6 @@ ;;; erc-hecomplete.el --- Provides Nick name completion for ERC -;; Copyright (C) 2001, 2002, 2004, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2001, 2002, 2004, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Alex Schroeder ;; URL: http://www.emacswiki.org/cgi-bin/wiki.pl?ErcCompletion @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-ibuffer.el b/lisp/erc/erc-ibuffer.el index 25ad1319bd6..3e659ee216d 100644 --- a/lisp/erc/erc-ibuffer.el +++ b/lisp/erc/erc-ibuffer.el @@ -1,6 +1,6 @@ ;;; erc-ibuffer.el --- ibuffer integration with ERC -;; Copyright (C) 2002, 2004, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2002, 2004, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Mario Lang ;; Keywords: comm @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-identd.el b/lisp/erc/erc-identd.el index 8a70a743edb..24f450388dd 100644 --- a/lisp/erc/erc-identd.el +++ b/lisp/erc/erc-identd.el @@ -1,6 +1,6 @@ ;;; erc-identd.el --- RFC1413 (identd authentication protocol) server -;; Copyright (C) 2003, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2003, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley ;; Keywords: comm, processes @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-imenu.el b/lisp/erc/erc-imenu.el index 5e005181b7b..37ae5520344 100644 --- a/lisp/erc/erc-imenu.el +++ b/lisp/erc/erc-imenu.el @@ -1,6 +1,6 @@ ;;; erc-imenu.el -- Imenu support for ERC -;; Copyright (C) 2001, 2002, 2004, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2001, 2002, 2004, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Mario Lang ;; Keywords: comm @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-join.el b/lisp/erc/erc-join.el index fb59cd905a6..b9b85bff27e 100644 --- a/lisp/erc/erc-join.el +++ b/lisp/erc/erc-join.el @@ -1,6 +1,6 @@ ;;; erc-join.el --- autojoin channels on connect and reconnects -;; Copyright (C) 2002, 2003, 2004, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Alex Schroeder ;; Keywords: irc @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-lang.el b/lisp/erc/erc-lang.el index c4d103a0f4a..67f0960cb51 100644 --- a/lisp/erc/erc-lang.el +++ b/lisp/erc/erc-lang.el @@ -1,6 +1,6 @@ ;;; erc-lang.el --- provide the LANG command to ERC -;; Copyright (C) 2002, 2004, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2002, 2004, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Alex Schroeder ;; Maintainer: Alex Schroeder @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-log.el b/lisp/erc/erc-log.el index 9801192bca0..dbbaebdf796 100644 --- a/lisp/erc/erc-log.el +++ b/lisp/erc/erc-log.el @@ -1,6 +1,6 @@ ;;; erc-log.el --- Logging facilities for ERC. -;; Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Lawrence Mitchell ;; Keywords: IRC, chat, client, Internet, logging @@ -12,7 +12,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -195,7 +195,7 @@ format is defined through a formatting function on Since automatic logging is not always a Good Thing (especially if people say things in different coding systems), you can turn logging -behaviour on and off with the variable `erc-enable-logging', which can +behavior on and off with the variable `erc-enable-logging', which can also be a predicate function. To only log when you are not set away, use: \(setq erc-enable-logging @@ -261,7 +261,7 @@ The current buffer is given by BUFFER." (defun erc-log-all-but-server-buffers (buffer) "Returns t if logging should be enabled in BUFFER. -Returns nil iff `erc-server-buffer-p' returns t." +Returns nil if `erc-server-buffer-p' returns t." (save-excursion (save-window-excursion (set-buffer buffer) @@ -385,7 +385,7 @@ You can save every individual message by putting this function on (with-current-buffer buffer (save-restriction (widen) - ;; early on in the initalisation, don't try and write the log out + ;; early on in the initialization, don't try and write the log out (when (and (markerp erc-last-saved-position) (> erc-insert-marker (1+ erc-last-saved-position))) (write-region (1+ (marker-position erc-last-saved-position)) diff --git a/lisp/erc/erc-match.el b/lisp/erc/erc-match.el index 35ba1b13492..97d421e50d8 100644 --- a/lisp/erc/erc-match.el +++ b/lisp/erc/erc-match.el @@ -1,7 +1,7 @@ ;;; erc-match.el --- Highlight messages matching certain regexps ;; Copyright (C) 2002, 2003, 2004, 2005, 2006, -;; 2007 Free Software Foundation, Inc. +;; 2007, 2008 Free Software Foundation, Inc. ;; Author: Andreas Fuchs ;; Keywords: comm, faces @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -256,7 +256,7 @@ current-nick, keyword, pal, dangerous-host, fool" (modify-syntax-entry ?\\ "w" table) table) "Syntax table used when highlighting messages. -This syntax table should make all the legal nick characters word +This syntax table should make all the valid nick characters word constituents.") ;; Faces: @@ -530,11 +530,11 @@ Use this defun with `erc-insert-modify-hook'." (defun erc-log-matches (match-type nickuserhost message) "Log matches in a separate buffer, determined by MATCH-TYPE. -The behaviour of this function is controlled by the variables -`erc-log-matches-types-alist' and `erc-log-matches-flag'. Specify the -match types which should be logged in the former, and -deactivate/activate match logging in the latter. See -`erc-log-match-format'." +The behavior of this function is controlled by the variables +`erc-log-matches-types-alist' and `erc-log-matches-flag'. +Specify the match types which should be logged in the former, +and deactivate/activate match logging in the latter. +See `erc-log-match-format'." (let ((match-buffer-name (cdr (assq match-type erc-log-matches-types-alist))) (nick (nth 0 (erc-parse-user nickuserhost)))) diff --git a/lisp/erc/erc-menu.el b/lisp/erc/erc-menu.el index 888da702d62..c47f7543165 100644 --- a/lisp/erc/erc-menu.el +++ b/lisp/erc/erc-menu.el @@ -1,7 +1,7 @@ ;; erc-menu.el -- Menu-bar definitions for ERC ;; Copyright (C) 2001, 2002, 2004, 2005, 2006, -;; 2007 Free Software Foundation, Inc. +;; 2007, 2008 Free Software Foundation, Inc. ;; Author: Mario Lang ;; Keywords: comm, processes, menu @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-netsplit.el b/lisp/erc/erc-netsplit.el index b4c26b1bb88..48970fb76c7 100644 --- a/lisp/erc/erc-netsplit.el +++ b/lisp/erc/erc-netsplit.el @@ -1,6 +1,6 @@ ;;; erc-netsplit.el --- Reduce JOIN/QUIT messages on netsplits -;; Copyright (C) 2002, 2003, 2004, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Mario Lang ;; Keywords: comm @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-networks.el b/lisp/erc/erc-networks.el index 4631ceae3ae..48efd41791f 100644 --- a/lisp/erc/erc-networks.el +++ b/lisp/erc/erc-networks.el @@ -1,6 +1,6 @@ ;;; erc-networks.el --- IRC networks -;; Copyright (C) 2002, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2002, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Mario Lang ;; Keywords: comm @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-nicklist.el b/lisp/erc/erc-nicklist.el deleted file mode 100644 index f37b8eab996..00000000000 --- a/lisp/erc/erc-nicklist.el +++ /dev/null @@ -1,414 +0,0 @@ -;;; erc-nicklist.el --- Display channel nicknames in a side buffer. - -;; Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. - -;; Filename: erc-nicklist.el -;; Author: Lawrence Mitchell -;; Created: 2004-04-30 -;; Keywords: IRC chat client Internet - -;; This file is part of GNU Emacs. - -;; GNU Emacs is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) -;; any later version. - -;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -;; Boston, MA 02110-1301, USA. - -;;; Commentary: -;; -;; This provides a minimal mIRC style nicklist buffer for ERC. To -;; activate, do M-x erc-nicklist RET in the channel buffer you want -;; the nicklist to appear for. To close and quit the nicklist -;; buffer, do M-x erc-nicklist-quit RET from within the nicklist buffer. -;; -;; TODO: -;; o Somehow associate nicklist windows with channel windows so they -;; appear together, and if one gets buried, then the other does. -;; -;; o Make "Query" and "Message" work. -;; -;; o Prettify the actual list of nicks in some way. -;; -;; o Add a proper erc-module that people can turn on and off, figure -;; out a way of creating the nicklist window at an appropriate time -;; --- probably in `erc-join-hook'. -;; -;; o Ensure XEmacs compatibility --- the mouse-menu support is likely -;; broken. -;; -;; o Add option to display in a separate frame --- will again need to -;; be able to associate the nicklist with the currently active -;; channel buffer or something similar. -;; -;; o Allow toggling of visibility of nicklist via ERC commands. - -;;; History: -;; - -;; Changes by Edgar Gonçalves -;; Jun 25 2005: -;; - images are changed to a standard set of names. -;; - /images now contain gaim's status icons. -;; May 31 2005: -;; - tooltips are improved. they try to access bbdb for a nice nick! -;; Apr 26 2005: -;; - erc-nicklist-channel-users-info was fixed (sorting bug) -;; - Away names don't need parenthesis when using icons -;; Apr 26 2005: -;; - nicks can display icons of their connection type (msn, icq, for now) -;; Mar 15 2005: -;; - nicks now are different for unvoiced and op users -;; - nicks now have tooltips displaying more info -;; Mar 18 2005: -;; - queries now work ok, both on menu and keyb shortcut RET. -;; - nicklist is now sorted ignoring the case. Voiced nicks will -;; appear according to `erc-nicklist-voiced-position'. - -;;; Code: - -(require 'erc) -(condition-case nil - (require 'erc-bbdb) - (error nil)) -(eval-when-compile (require 'cl)) - -(defgroup erc-nicklist nil - "Display a list of nicknames in a separate window." - :group 'erc) - -(defcustom erc-nicklist-use-icons t - "*If non-nil, display an icon instead of the name of the chat medium. -By \"chat medium\", we mean IRC, AOL, MSN, ICQ, etc." - :group 'erc-nicklist - :type 'boolean) - -(defcustom erc-nicklist-icons-directory - (concat default-directory "images/") - "*Directory of the PNG files for chat icons. -Icons are displayed if `erc-nicklist-use-icons' is non-nil." - :group 'erc-nicklist - :type 'directory) - -(defcustom erc-nicklist-voiced-position 'bottom - "*Position of voiced nicks in the nicklist. -The value can be `top', `bottom' or nil (don't sort)." - :group 'erc-nicklist - :type '(choice - (const :tag "Top" 'top) - (const :tag "Bottom" 'bottom) - (const :tag "Mixed" nil))) - -(defcustom erc-nicklist-window-size 20.0 - "*The size of the nicklist window. - -This specifies a percentage of the channel window width. - -A negative value means the nicklist window appears on the left of the -channel window, and vice versa." - :group 'erc-nicklist - :type 'float) - - -(defun erc-nicklist-buffer-name (&optional buffer) - "Return the buffer name for a nicklist associated with BUFFER. - -If BUFFER is nil, use the value of `current-buffer'." - (format " *%s-nicklist*" (buffer-name (or buffer (current-buffer))))) - -(defun erc-nicklist-make-window () - "Create an ERC nicklist window. - -See also `erc-nicklist-window-size'." - (let ((width (floor (* (window-width) (/ erc-nicklist-window-size 100.0)))) - (buffer (erc-nicklist-buffer-name)) - window) - (split-window-horizontally (- width)) - (setq window (next-window)) - (set-window-buffer window (get-buffer-create buffer)) - (with-current-buffer buffer - (set-window-dedicated-p window t)))) - - -(defvar erc-nicklist-images-alist '() - "Alist that maps a connection type to an icon.") - -(defun erc-nicklist-insert-medium-name-or-icon (host channel is-away) - "Inserts an icon or a string identifying the current host type. -This is configured using `erc-nicklist-use-icons' and -`erc-nicklist-icons-directory'." - ;; identify the network (for bitlebee usage): - (let ((bitlbee-p (save-match-data - (string-match "\\`&bitlbee\\b" - (buffer-name channel))))) - (cond ((and bitlbee-p - (string= "login.icq.com" host)) - (if erc-nicklist-use-icons - (if is-away - (insert-image (cdr (assoc 'icq-away - erc-nicklist-images-alist))) - (insert-image (cdr (assoc 'icq - erc-nicklist-images-alist)))) - (insert "ICQ"))) - (bitlbee-p - (if erc-nicklist-use-icons - (if is-away - (insert-image (cdr (assoc 'msn-away - erc-nicklist-images-alist))) - (insert-image (cdr (assoc 'msn - erc-nicklist-images-alist)))) - (insert "MSN"))) - (t - (if erc-nicklist-use-icons - (if is-away - (insert-image (cdr (assoc 'irc-away - erc-nicklist-images-alist))) - (insert-image (cdr (assoc 'irc - erc-nicklist-images-alist)))) - (insert "IRC")))) - (insert " "))) - -(defun erc-nicklist-search-for-nick (finger-host) - "Return the bitlbee-nick field for this contact given FINGER-HOST. -Seach for the BBDB record of this contact. If not found, return nil." - (when (boundp 'erc-bbdb-bitlbee-name-field) - (let ((record (car - (erc-member-if - #'(lambda (r) - (let ((fingers (bbdb-record-finger-host r))) - (when fingers - (string-match finger-host - (car (bbdb-record-finger-host r)))))) - (bbdb-records))))) - (when record - (bbdb-get-field record erc-bbdb-bitlbee-name-field))))) - -(defun erc-nicklist-insert-contents (channel) - "Insert the nicklist contents, with text properties and the optional images." - (setq buffer-read-only nil) - (erase-buffer) - (dolist (u (erc-nicklist-channel-users-info channel)) - (let* ((server-user (car u)) - (channel-user (cdr u)) - (nick (erc-server-user-nickname server-user)) - (host (erc-server-user-host server-user)) - (login (erc-server-user-login server-user)) - (full-name(erc-server-user-full-name server-user)) - (info (erc-server-user-info server-user)) - (channels (erc-server-user-buffers server-user)) - (op (erc-channel-user-op channel-user)) - (voice (erc-channel-user-voice channel-user)) - (bbdb-nick (or (erc-nicklist-search-for-nick - (concat login "@" host)) - "")) - (away-status (if voice "" "\n(Away)")) - (balloon-text (concat bbdb-nick (if (string= "" bbdb-nick) - "" "\n") - "Login: " login "@" host - away-status))) - (erc-nicklist-insert-medium-name-or-icon host channel (not voice)) - (unless (or voice erc-nicklist-use-icons) - (setq nick (concat "(" nick ")"))) - (when op - (setq nick (concat nick " (OP)"))) - (insert (erc-propertize nick - 'erc-nicklist-nick nick - 'mouse-face 'highlight - 'erc-nicklist-channel channel - 'help-echo balloon-text) - "\n"))) - (erc-nicklist-mode)) - - -(defun erc-nicklist () - "Create an ERC nicklist buffer." - (interactive) - (let ((channel (current-buffer))) - (unless (or (not erc-nicklist-use-icons) - erc-nicklist-images-alist) - (setq erc-nicklist-images-alist - `((msn . ,(create-image (concat erc-nicklist-icons-directory - "msn-online.png"))) - (msn-away . ,(create-image (concat erc-nicklist-icons-directory - "msn-offline.png"))) - (irc . ,(create-image (concat erc-nicklist-icons-directory - "irc-online.png"))) - (irc-away . ,(create-image (concat erc-nicklist-icons-directory - "irc-offline.png"))) - (icq . ,(create-image (concat erc-nicklist-icons-directory - "icq-online.png"))) - (icq-away . ,(create-image (concat erc-nicklist-icons-directory - "icq-offline.png")))))) - (erc-nicklist-make-window) - (with-current-buffer (get-buffer (erc-nicklist-buffer-name channel)) - (erc-nicklist-insert-contents channel))) - (add-hook 'erc-channel-members-changed-hook #'erc-nicklist-update)) - -(defun erc-nicklist-update () - "Update the ERC nicklist buffer." - (let ((b (get-buffer (erc-nicklist-buffer-name))) - (channel (current-buffer))) - (when b - (with-current-buffer b - (erc-nicklist-insert-contents channel))))) - -(defvar erc-nicklist-mode-map - (let ((map (make-sparse-keymap))) - (define-key map (kbd "") 'erc-nicklist-menu) - (define-key map "\C-j" 'erc-nicklist-kbd-menu) - (define-key map "q" 'erc-nicklist-quit) - (define-key map (kbd "RET") 'erc-nicklist-kbd-cmd-QUERY) - map) - "Keymap for `erc-nicklist-mode'.") - -(define-derived-mode erc-nicklist-mode fundamental-mode - "Nicklist" - "Major mode for the ERC nicklist buffer." - (setq buffer-read-only t)) - -(defun erc-nicklist-call-erc-command (command point buffer window) - "Call an ERC COMMAND. - -Depending on what COMMAND is, it's called with one of POINT, BUFFER, -or WINDOW as arguments." - (when command - (let* ((p (text-properties-at point)) - (b (plist-get p 'erc-nicklist-channel))) - (if (memq command '(erc-nicklist-quit ignore)) - (funcall command window) - ;; EEEK! Horrble, but it's the only way we can ensure the - ;; response goes to the correct buffer. - (erc-set-active-buffer b) - (switch-to-buffer-other-window b) - (funcall command (plist-get p 'erc-nicklist-nick)))))) - -(defun erc-nicklist-cmd-QUERY (user &optional server) - "Opens a query buffer with USER." - ;; FIXME: find a way to switch to that buffer afterwards... - (let ((send (if server - (format "QUERY %s %s" user server) - (format "QUERY %s" user)))) - (erc-cmd-QUERY user) - t)) - -(defun erc-nicklist-kbd-cmd-QUERY (&optional window) - (interactive) - (let* ((p (text-properties-at (point))) - (server (plist-get p 'erc-nicklist-channel)) - (nick (plist-get p 'erc-nicklist-nick)) - (nick (or (and (string-match "(\\(.*\\))" nick) - (match-string 1 nick)) - nick)) - (nick (or (and (string-match "\\+\\(.*\\)" nick) - (match-string 1 nick)) - nick)) - (send (format "QUERY %s %s" nick server))) - (switch-to-buffer-other-window server) - (erc-cmd-QUERY nick))) - - -(defvar erc-nicklist-menu - (let ((map (make-sparse-keymap "Action"))) - (define-key map [erc-cmd-WHOIS] - '("Whois" . erc-cmd-WHOIS)) - (define-key map [erc-cmd-DEOP] - '("Deop" . erc-cmd-DEOP)) - (define-key map [erc-cmd-MSG] - '("Message" . erc-cmd-MSG)) ;; TODO! - (define-key map [erc-nicklist-cmd-QUERY] - '("Query" . erc-nicklist-kbd-cmd-QUERY)) - (define-key map [ignore] - '("Cancel" . ignore)) - (define-key map [erc-nicklist-quit] - '("Close nicklist" . erc-nicklist-quit)) - map) - "Menu keymap for the ERC nicklist.") - -(defun erc-nicklist-quit (&optional window) - "Delete the ERC nicklist. - -Deletes WINDOW and stops updating the nicklist buffer." - (interactive) - (let ((b (window-buffer window))) - (with-current-buffer b - (set-buffer-modified-p nil) - (kill-this-buffer) - (remove-hook 'erc-channel-members-changed-hook 'erc-nicklist-update)))) - - -(defun erc-nicklist-kbd-menu () - "Show the ERC nicklist menu." - (interactive) - (let* ((point (point)) - (window (selected-window)) - (buffer (current-buffer))) - (with-current-buffer buffer - (erc-nicklist-call-erc-command - (car (x-popup-menu point - erc-nicklist-menu)) - point - buffer - window)))) - -(defun erc-nicklist-menu (&optional arg) - "Show the ERC nicklist menu. - -ARG is a parametrized event (see `interactive')." - (interactive "e") - (let* ((point (nth 1 (cadr arg))) - (window (car (cadr arg))) - (buffer (window-buffer window))) - (with-current-buffer buffer - (erc-nicklist-call-erc-command - (car (x-popup-menu arg - erc-nicklist-menu)) - point - buffer - window)))) - - -(defun erc-nicklist-channel-users-info (channel) - "Return a nick-sorted list of all users on CHANNEL. -Result are elements in the form (SERVER-USER . CHANNEL-USER). The -list has all the voiced users according to -`erc-nicklist-voiced-position'." - (let* ((nicks (erc-sort-channel-users-alphabetically - (with-current-buffer channel (erc-get-channel-user-list))))) - (if erc-nicklist-voiced-position - (let ((voiced-nicks (erc-remove-if-not - #'(lambda (x) - (null (erc-channel-user-voice (cdr x)))) - nicks)) - (devoiced-nicks (erc-remove-if-not - #'(lambda (x) - (erc-channel-user-voice - (cdr x))) - nicks))) - (cond ((eq erc-nicklist-voiced-position 'top) - (append devoiced-nicks voiced-nicks)) - ((eq erc-nicklist-voiced-position 'bottom) - (append voiced-nicks devoiced-nicks)))) - nicks))) - - - -(provide 'erc-nicklist) - -;;; erc-nicklist.el ends here -;; -;; Local Variables: -;; indent-tabs-mode: t -;; tab-width: 8 -;; coding: utf-8 -;; End: - -;; arch-tag: db37a256-87a7-4544-bd90-e5f16c9f5ca5 diff --git a/lisp/erc/erc-notify.el b/lisp/erc/erc-notify.el index d34e38ade43..96d49df4799 100644 --- a/lisp/erc/erc-notify.el +++ b/lisp/erc/erc-notify.el @@ -1,6 +1,6 @@ ;;; erc-notify.el --- Online status change notification -;; Copyright (C) 2002, 2003, 2004, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Mario Lang ;; Keywords: comm @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-page.el b/lisp/erc/erc-page.el index de13c6037a6..90a2009106f 100644 --- a/lisp/erc/erc-page.el +++ b/lisp/erc/erc-page.el @@ -1,12 +1,12 @@ ;; erc-page.el - CTCP PAGE support for ERC -;; Copyright (C) 2002, 2004, 2006, 2007 Free Software Foundation +;; Copyright (C) 2002, 2004, 2006, 2007, 2008 Free Software Foundation ;; This file is part of GNU Emacs. ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-pcomplete.el b/lisp/erc/erc-pcomplete.el index f207bcc1b8b..9fdbd366310 100644 --- a/lisp/erc/erc-pcomplete.el +++ b/lisp/erc/erc-pcomplete.el @@ -1,6 +1,6 @@ ;;; erc-pcomplete.el --- Provides programmable completion for ERC -;; Copyright (C) 2002, 2003, 2004, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Sacha Chua ;; Keywords: comm, convenience @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-replace.el b/lisp/erc/erc-replace.el index 5e63f8d7d4f..d6713c6a442 100644 --- a/lisp/erc/erc-replace.el +++ b/lisp/erc/erc-replace.el @@ -1,6 +1,6 @@ ;; erc-replace.el -- wash and massage messages inserted into the buffer -;; Copyright (C) 2001, 2002, 2004, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2001, 2002, 2004, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Andreas Fuchs ;; Maintainer: Mario Lang (mlang@delysid.org) @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-ring.el b/lisp/erc/erc-ring.el index 95c313a23f6..00f1fca73d3 100644 --- a/lisp/erc/erc-ring.el +++ b/lisp/erc/erc-ring.el @@ -1,7 +1,7 @@ ;; erc-ring.el -- Command history handling for erc using ring.el ;; Copyright (C) 2001, 2002, 2003, 2004, 2006, -;; 2007 Free Software Foundation, Inc. +;; 2007, 2008 Free Software Foundation, Inc. ;; Author: Alex Schroeder ;; Keywords: comm @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-services.el b/lisp/erc/erc-services.el index a2cc1b19782..18bcb6f2a09 100644 --- a/lisp/erc/erc-services.el +++ b/lisp/erc/erc-services.el @@ -1,12 +1,12 @@ ;;; erc-services.el --- Identify to NickServ -;; Copyright (C) 2002, 2003, 2004, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008 Free Software Foundation, Inc. ;; This file is part of GNU Emacs. ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-sound.el b/lisp/erc/erc-sound.el index fdac1cc3be0..e62034eef71 100644 --- a/lisp/erc/erc-sound.el +++ b/lisp/erc/erc-sound.el @@ -1,12 +1,12 @@ ;;; erc-sound.el --- CTCP SOUND support for ERC -;; Copyright (C) 2002, 2003, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2002, 2003, 2006, 2007, 2008 Free Software Foundation, Inc. ;; This file is part of GNU Emacs. ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-speedbar.el b/lisp/erc/erc-speedbar.el index 0d88589838e..cc8a085466d 100644 --- a/lisp/erc/erc-speedbar.el +++ b/lisp/erc/erc-speedbar.el @@ -1,7 +1,7 @@ ;;; erc-speedbar.el --- Speedbar support for ERC ;; Copyright (C) 2001, 2002, 2003, 2004, 2006, -;; 2007 Free Software Foundation, Inc. +;; 2007, 2008 Free Software Foundation, Inc. ;; Author: Mario Lang ;; Contributor: Eric M. Ludlam @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-spelling.el b/lisp/erc/erc-spelling.el index a15ca17987f..55cb213e1bc 100644 --- a/lisp/erc/erc-spelling.el +++ b/lisp/erc/erc-spelling.el @@ -1,6 +1,6 @@ ;;; erc-spelling.el --- use flyspell in ERC -;; Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Jorgen Schaefer ;; Keywords: irc @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-stamp.el b/lisp/erc/erc-stamp.el index 0b8017ffe0b..75e512894f5 100644 --- a/lisp/erc/erc-stamp.el +++ b/lisp/erc/erc-stamp.el @@ -1,6 +1,6 @@ ;;; erc-stamp.el --- Timestamping for ERC messages -;; Copyright (C) 2002, 2003, 2004, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Mario Lang ;; Keywords: comm, processes, timestamp @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-track.el b/lisp/erc/erc-track.el index 4a8b673d46b..6ccbbc3309f 100644 --- a/lisp/erc/erc-track.el +++ b/lisp/erc/erc-track.el @@ -1,7 +1,7 @@ ;;; erc-track.el --- Track modified channel buffers ;; Copyright (C) 2002, 2003, 2004, 2005, 2006, -;; 2007 Free Software Foundation, Inc. +;; 2007, 2008 Free Software Foundation, Inc. ;; Author: Mario Lang ;; Keywords: comm, faces @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-truncate.el b/lisp/erc/erc-truncate.el index 440dc870e2c..ab712b7d6a4 100644 --- a/lisp/erc/erc-truncate.el +++ b/lisp/erc/erc-truncate.el @@ -1,6 +1,6 @@ ;;; erc-truncate.el --- Functions for truncating ERC buffers -;; Copyright (C) 2003, 2004, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2003, 2004, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Andreas Fuchs ;; Keywords: IRC, chat, client, Internet, logging @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc-xdcc.el b/lisp/erc/erc-xdcc.el index ea1fa27bf4b..ed1d0c948b6 100644 --- a/lisp/erc/erc-xdcc.el +++ b/lisp/erc/erc-xdcc.el @@ -1,6 +1,6 @@ ;;; erc-xdcc.el --- XDCC file-server support for ERC -;; Copyright (C) 2003, 2004, 2006, 2007 Free Software Foundation, Inc. +;; Copyright (C) 2003, 2004, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Mario Lang ;; Keywords: comm, processes @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el index 37c2c2e0883..649fc4a63df 100644 --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el @@ -1,7 +1,7 @@ ;; erc.el --- An Emacs Internet Relay Chat client ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Alexander L. Belikoff (alexander@belikoff.net) ;; Contributors: Sergey Berezin (sergey.berezin@cs.cmu.edu), @@ -17,7 +17,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -842,7 +842,7 @@ See `erc-server-flood-margin' for other flood-related parameters.") The first existent and readable one will get executed. If the filename ends with `.el' it is presumed to be an Emacs Lisp -script and it gets (load)ed. Otherwise is is treated as a bunch of +script and it gets (load)ed. Otherwise it is treated as a bunch of regular IRC commands." :group 'erc-scripts :type '(repeat file)) @@ -1910,7 +1910,7 @@ already connected and just create a separate buffer for the new target CHANNEL. Use PASSWD as user password on the server. If TGT-LIST is -non-nil, use it to initialise `erc-default-recipients'. +non-nil, use it to initialize `erc-default-recipients'. Returns the buffer for the given server or channel." (let ((server-announced-name (when (and (boundp 'erc-session-server) @@ -2342,7 +2342,7 @@ If STRING is nil, the function does nothing." (setq list (cdr list)))))) (defvar erc-valid-nick-regexp "[]a-zA-Z^[;\\`_{}|][]^[;\\`_{}|a-zA-Z0-9-]*" - "Regexp which matches all legal characters in a IRC nickname.") + "Regexp which matches all valid characters in a IRC nickname.") (defun erc-is-valid-nick-p (nick) "Check if NICK is a valid IRC nickname." @@ -3958,7 +3958,7 @@ and always returns t." (defun erc-echo-notice-in-target-buffer (s parsed buffer sender) "Echos a private notice in BUFFER, if BUFFER is non-nil. This function is designed to be added to either `erc-echo-notice-hook' -or `erc-echo-notice-always-hook', and returns non-nil iff BUFFER +or `erc-echo-notice-always-hook', and returns non-nil if BUFFER is non-nil." (if buffer (progn (erc-display-message parsed nil buffer s) t) @@ -3982,7 +3982,7 @@ designed to be added to either `erc-echo-notice-hook' or "Echos a private notice in the active buffer if the active buffer is not the server buffer. This function is designed to be added to either `erc-echo-notice-hook' or -`erc-echo-notice-always-hook', and returns non-nil iff the active +`erc-echo-notice-always-hook', and returns non-nil if the active buffer is not the server buffer." (if (not (eq (erc-server-buffer) (erc-active-buffer))) (progn (erc-display-message parsed nil 'active s) t) @@ -3999,7 +3999,7 @@ designed to be added to either `erc-echo-notice-hook' or "Echos a private notice in all of the buffers for which SENDER is a member. This function is designed to be added to either `erc-echo-notice-hook' or `erc-echo-notice-always-hook', and -returns non-nil iff there is at least one buffer for which the +returns non-nil if there is at least one buffer for which the sender is a member. See also: `erc-echo-notice-in-first-user-buffer', @@ -4013,7 +4013,7 @@ See also: `erc-echo-notice-in-first-user-buffer', "Echos a private notice in BUFFER and in all of the buffers for which SENDER is a member. This function is designed to be added to either `erc-echo-notice-hook' or -`erc-echo-notice-always-hook', and returns non-nil iff there is +`erc-echo-notice-always-hook', and returns non-nil if there is at least one buffer for which the sender is a member or the default target. @@ -4029,7 +4029,7 @@ See also: `erc-echo-notice-in-user-buffers', "Echos a private notice in one of the buffers for which SENDER is a member. This function is designed to be added to either `erc-echo-notice-hook' or `erc-echo-notice-always-hook', and -returns non-nil iff there is at least one buffer for which the +returns non-nil if there is at least one buffer for which the sender is a member. See also: `erc-echo-notice-in-user-buffers', @@ -4938,7 +4938,7 @@ Specifically, return the position of `erc-insert-marker'." (defun erc-send-input (input) "Treat INPUT as typed in by the user. It is assumed that the input and the prompt is already deleted. -This returns non-nil only iff we actually send anything." +This returns non-nil only if we actually send anything." ;; Handle different kinds of inputs (cond ;; Ignore empty input @@ -5756,7 +5756,7 @@ Otherwise, use the `erc-header-line' face." (function :tag "Call a function"))) (defcustom erc-show-channel-key-p t - "Show the the channel key in the header line." + "Show the channel key in the header line." :group 'erc-paranoia :type 'boolean) diff --git a/lisp/eshell/em-alias.el b/lisp/eshell/em-alias.el index d2d5deae2f7..1c31d33ccfa 100644 --- a/lisp/eshell/em-alias.el +++ b/lisp/eshell/em-alias.el @@ -1,7 +1,7 @@ ;;; em-alias.el --- creation and management of command aliases ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/eshell/em-banner.el b/lisp/eshell/em-banner.el index 51d547a71c4..5cd171ff5d3 100644 --- a/lisp/eshell/em-banner.el +++ b/lisp/eshell/em-banner.el @@ -1,7 +1,7 @@ ;;; em-banner.el --- sample module that displays a login banner ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/eshell/em-basic.el b/lisp/eshell/em-basic.el index b727bb05932..aa4cda1ca33 100644 --- a/lisp/eshell/em-basic.el +++ b/lisp/eshell/em-basic.el @@ -1,7 +1,7 @@ ;;; em-basic.el --- basic shell builtin commands ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/eshell/em-cmpl.el b/lisp/eshell/em-cmpl.el index e0f39eea262..252b0c0d701 100644 --- a/lisp/eshell/em-cmpl.el +++ b/lisp/eshell/em-cmpl.el @@ -1,7 +1,7 @@ ;;; em-cmpl.el --- completion using the TAB key ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/eshell/em-dirs.el b/lisp/eshell/em-dirs.el index 2b308d5c6a1..86e91a6dcbe 100644 --- a/lisp/eshell/em-dirs.el +++ b/lisp/eshell/em-dirs.el @@ -1,7 +1,7 @@ ;;; em-dirs.el --- directory navigation commands ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -319,7 +319,7 @@ in the minibuffer: (before translate-multiple-dots (filename &optional directory) activate) (setq filename (eshell-expand-multiple-dots filename)))" - (while (string-match "\\.\\.\\(\\.+\\)" path) + (while (string-match "\\(?:^\\|/\\)\\.\\.\\(\\.+\\)\\(?:$\\|/\\)" path) (let* ((extra-dots (match-string 1 path)) (len (length extra-dots)) replace-text) diff --git a/lisp/eshell/em-glob.el b/lisp/eshell/em-glob.el index 859a8a07c38..d85278cd85d 100644 --- a/lisp/eshell/em-glob.el +++ b/lisp/eshell/em-glob.el @@ -1,7 +1,7 @@ ;;; em-glob.el --- extended file name globbing ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/eshell/em-hist.el b/lisp/eshell/em-hist.el index 2fd0c485562..5f1e2759e60 100644 --- a/lisp/eshell/em-hist.el +++ b/lisp/eshell/em-hist.el @@ -1,7 +1,7 @@ ;;; em-hist.el --- history list management ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/eshell/em-ls.el b/lisp/eshell/em-ls.el index 0473ef22973..a31fb26b5f1 100644 --- a/lisp/eshell/em-ls.el +++ b/lisp/eshell/em-ls.el @@ -1,7 +1,7 @@ ;;; em-ls.el --- implementation of ls in Lisp ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/eshell/em-pred.el b/lisp/eshell/em-pred.el index 71e34346d77..f20dd89c7cc 100644 --- a/lisp/eshell/em-pred.el +++ b/lisp/eshell/em-pred.el @@ -1,7 +1,7 @@ ;;; em-pred.el --- argument predicates and modifiers (ala zsh) ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/eshell/em-prompt.el b/lisp/eshell/em-prompt.el index 03c60988e58..577213aa411 100644 --- a/lisp/eshell/em-prompt.el +++ b/lisp/eshell/em-prompt.el @@ -1,7 +1,7 @@ ;;; em-prompt.el --- command prompts ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/eshell/em-rebind.el b/lisp/eshell/em-rebind.el index c1488f47234..b9e4deb1cfe 100644 --- a/lisp/eshell/em-rebind.el +++ b/lisp/eshell/em-rebind.el @@ -1,7 +1,7 @@ ;;; em-rebind.el --- rebind keys when point is at current input ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/eshell/em-script.el b/lisp/eshell/em-script.el index 92f077cd597..e4751119e24 100644 --- a/lisp/eshell/em-script.el +++ b/lisp/eshell/em-script.el @@ -1,7 +1,7 @@ ;;; em-script.el --- Eshell script files ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/eshell/em-smart.el b/lisp/eshell/em-smart.el index f9aed42e3ce..0fbbf60a351 100644 --- a/lisp/eshell/em-smart.el +++ b/lisp/eshell/em-smart.el @@ -1,7 +1,7 @@ ;;; em-smart.el --- smart display of output ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/eshell/em-term.el b/lisp/eshell/em-term.el index bb405473239..f0594248f82 100644 --- a/lisp/eshell/em-term.el +++ b/lisp/eshell/em-term.el @@ -1,7 +1,7 @@ ;;; em-term.el --- running visual commands ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/eshell/em-unix.el b/lisp/eshell/em-unix.el index 9c55fe16b6d..78ea496e5e8 100644 --- a/lisp/eshell/em-unix.el +++ b/lisp/eshell/em-unix.el @@ -1,7 +1,7 @@ ;;; em-unix.el --- UNIX command aliases ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -930,7 +930,10 @@ Show wall-clock time elapsed during execution of COMMAND.") (add-hook 'eshell-post-command-hook 'eshell-show-elapsed-time nil t) ;; after setting (throw 'eshell-replace-command - (eshell-parse-command (car time-args) (cdr time-args)))))) + (eshell-parse-command (car time-args) +;;; http://lists.gnu.org/archive/html/bug-gnu-emacs/2007-08/msg00205.html + (eshell-stringify-list + (eshell-flatten-list (cdr time-args)))))))) (defalias 'eshell/whoami 'user-login-name) diff --git a/lisp/eshell/em-xtra.el b/lisp/eshell/em-xtra.el index 347ab69ff17..bfe55017240 100644 --- a/lisp/eshell/em-xtra.el +++ b/lisp/eshell/em-xtra.el @@ -1,7 +1,7 @@ ;;; em-xtra.el --- extra alias functions ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/eshell/esh-arg.el b/lisp/eshell/esh-arg.el index 9a5ead5ddff..2418dc1b1ba 100644 --- a/lisp/eshell/esh-arg.el +++ b/lisp/eshell/esh-arg.el @@ -1,7 +1,7 @@ ;;; esh-arg.el --- argument processing ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/eshell/esh-cmd.el b/lisp/eshell/esh-cmd.el index 2b48bad0166..1fabb97a6be 100644 --- a/lisp/eshell/esh-cmd.el +++ b/lisp/eshell/esh-cmd.el @@ -1,7 +1,7 @@ ;;; esh-cmd.el --- command invocation ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -204,7 +204,7 @@ which may be modified directly. Any return value is ignored." :type 'hook :group 'eshell-cmd) -(defcustom eshell-complex-commands nil +(defcustom eshell-complex-commands '("ls") "*A list of commands names or functions, that determine complexity. That is, if a command is defined by a function named eshell/NAME, and NAME is part of this list, it is invoked as a complex command. diff --git a/lisp/eshell/esh-ext.el b/lisp/eshell/esh-ext.el index 6951d580fdc..d88e19f7968 100644 --- a/lisp/eshell/esh-ext.el +++ b/lisp/eshell/esh-ext.el @@ -1,7 +1,7 @@ ;;; esh-ext.el --- commands external to Eshell ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/eshell/esh-io.el b/lisp/eshell/esh-io.el index f9684601fc4..884b04cdea6 100644 --- a/lisp/eshell/esh-io.el +++ b/lisp/eshell/esh-io.el @@ -1,7 +1,7 @@ ;;; esh-io.el --- I/O management ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/eshell/esh-maint.el b/lisp/eshell/esh-maint.el index a0219beca63..e93c2412c9d 100644 --- a/lisp/eshell/esh-maint.el +++ b/lisp/eshell/esh-maint.el @@ -1,7 +1,7 @@ ;;; esh-maint.el --- init code for building eshell -*- no-byte-compile: t -*- ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/eshell/esh-mode.el b/lisp/eshell/esh-mode.el index c6abda631dc..7c66d797288 100644 --- a/lisp/eshell/esh-mode.el +++ b/lisp/eshell/esh-mode.el @@ -1,7 +1,7 @@ ;;; esh-mode.el --- user interface ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -165,7 +165,8 @@ number, if the function `eshell-truncate-buffer' is on :group 'eshell-mode) (defcustom eshell-output-filter-functions - '(eshell-handle-control-codes + '(eshell-postoutput-scroll-to-bottom + eshell-handle-control-codes eshell-watch-for-password-prompt) "*Functions to call before output is displayed. These functions are only called for output that is displayed @@ -774,38 +775,36 @@ This is done after all necessary filtering has been done." (setq string (funcall (car functions) string)) (setq functions (cdr functions)))) (if (and string oprocbuf (buffer-name oprocbuf)) - (let ((obuf (current-buffer)) - opoint obeg oend) - (set-buffer oprocbuf) - (setq opoint (point)) - (setq obeg (point-min)) - (setq oend (point-max)) - (let ((buffer-read-only nil) - (nchars (length string)) - (ostart nil)) - (widen) - (goto-char eshell-last-output-end) - (setq ostart (point)) - (if (<= (point) opoint) - (setq opoint (+ opoint nchars))) - (if (< (point) obeg) - (setq obeg (+ obeg nchars))) - (if (<= (point) oend) - (setq oend (+ oend nchars))) - (insert-before-markers string) - (if (= (window-start (selected-window)) (point)) - (set-window-start (selected-window) - (- (point) nchars))) - (if (= (point) eshell-last-input-end) - (set-marker eshell-last-input-end - (- eshell-last-input-end nchars))) - (set-marker eshell-last-output-start ostart) - (set-marker eshell-last-output-end (point)) - (force-mode-line-update)) - (narrow-to-region obeg oend) - (goto-char opoint) - (eshell-run-output-filters) - (set-buffer obuf))))) + (let (opoint obeg oend) + (with-current-buffer oprocbuf + (setq opoint (point)) + (setq obeg (point-min)) + (setq oend (point-max)) + (let ((buffer-read-only nil) + (nchars (length string)) + (ostart nil)) + (widen) + (goto-char eshell-last-output-end) + (setq ostart (point)) + (if (<= (point) opoint) + (setq opoint (+ opoint nchars))) + (if (< (point) obeg) + (setq obeg (+ obeg nchars))) + (if (<= (point) oend) + (setq oend (+ oend nchars))) + (insert-before-markers string) + (if (= (window-start (selected-window)) (point)) + (set-window-start (selected-window) + (- (point) nchars))) + (if (= (point) eshell-last-input-end) + (set-marker eshell-last-input-end + (- eshell-last-input-end nchars))) + (set-marker eshell-last-output-start ostart) + (set-marker eshell-last-output-end (point)) + (force-mode-line-update)) + (narrow-to-region obeg oend) + (goto-char opoint) + (eshell-run-output-filters)))))) (defun eshell-run-output-filters () "Run the `eshell-output-filter-functions' on the current output." @@ -880,9 +879,6 @@ This function should be in the list `eshell-output-filter-functions'." nil t) (set-buffer current)))) -(custom-add-option 'eshell-output-filter-functions - 'eshell-postoutput-scroll-to-bottom) - (defun eshell-beginning-of-input () "Return the location of the start of the previous input." eshell-last-input-start) diff --git a/lisp/eshell/esh-module.el b/lisp/eshell/esh-module.el index 822caf54933..503cfe912cf 100644 --- a/lisp/eshell/esh-module.el +++ b/lisp/eshell/esh-module.el @@ -1,7 +1,7 @@ ;;; esh-module.el --- Eshell modules ;; Copyright (C) 1999, 2000, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley ;; Keywords: processes @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/eshell/esh-opt.el b/lisp/eshell/esh-opt.el index 8e7b44174ce..0439f21a7c6 100644 --- a/lisp/eshell/esh-opt.el +++ b/lisp/eshell/esh-opt.el @@ -1,7 +1,7 @@ ;;; esh-opt.el --- command options processing ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/eshell/esh-proc.el b/lisp/eshell/esh-proc.el index 96d8255a3ab..871bc03749d 100644 --- a/lisp/eshell/esh-proc.el +++ b/lisp/eshell/esh-proc.el @@ -1,7 +1,7 @@ ;;; esh-proc.el --- process management ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -335,39 +335,39 @@ Used only on systems which do not support async subprocesses.") PROC is the process for which we're inserting output. STRING is the output." (when (buffer-live-p (process-buffer proc)) - (set-buffer (process-buffer proc)) - (let ((entry (assq proc eshell-process-list))) - (when entry - (setcar (nthcdr 3 entry) - (concat (nth 3 entry) string)) - (unless (nth 4 entry) ; already being handled? - (while (nth 3 entry) - (let ((data (nth 3 entry))) - (setcar (nthcdr 3 entry) nil) - (setcar (nthcdr 4 entry) t) - (eshell-output-object data nil (cadr entry)) - (setcar (nthcdr 4 entry) nil)))))))) + (with-current-buffer (process-buffer proc) + (let ((entry (assq proc eshell-process-list))) + (when entry + (setcar (nthcdr 3 entry) + (concat (nth 3 entry) string)) + (unless (nth 4 entry) ; already being handled? + (while (nth 3 entry) + (let ((data (nth 3 entry))) + (setcar (nthcdr 3 entry) nil) + (setcar (nthcdr 4 entry) t) + (eshell-output-object data nil (cadr entry)) + (setcar (nthcdr 4 entry) nil))))))))) (defun eshell-sentinel (proc string) "Generic sentinel for command processes. Reports only signals. PROC is the process that's exiting. STRING is the exit message." (when (buffer-live-p (process-buffer proc)) - (set-buffer (process-buffer proc)) - (unwind-protect - (let* ((entry (assq proc eshell-process-list))) -; (if (not entry) -; (error "Sentinel called for unowned process `%s'" -; (process-name proc)) - (when entry - (unwind-protect - (progn - (unless (string= string "run") - (unless (string-match "^\\(finished\\|exited\\)" string) - (eshell-insertion-filter proc string)) - (eshell-close-handles (process-exit-status proc) 'nil - (cadr entry)))) - (eshell-remove-process-entry entry)))) - (run-hook-with-args 'eshell-kill-hook proc string)))) + (with-current-buffer (process-buffer proc) + (unwind-protect + (let* ((entry (assq proc eshell-process-list))) +; (if (not entry) +; (error "Sentinel called for unowned process `%s'" +; (process-name proc)) + (when entry + (unwind-protect + (progn + (unless (string= string "run") + (unless (string-match "^\\(finished\\|exited\\)" string) + (eshell-insertion-filter proc string)) + (eshell-close-handles (process-exit-status proc) 'nil + (cadr entry)))) + (eshell-remove-process-entry entry)))) + (run-hook-with-args 'eshell-kill-hook proc string))))) (defun eshell-process-interact (func &optional all query) "Interact with a process, using PROMPT if more than one, via FUNC. diff --git a/lisp/eshell/esh-test.el b/lisp/eshell/esh-test.el index ed1e75eb4df..ca3f65071bc 100644 --- a/lisp/eshell/esh-test.el +++ b/lisp/eshell/esh-test.el @@ -1,7 +1,7 @@ ;;; esh-test.el --- Eshell test suite ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/eshell/esh-util.el b/lisp/eshell/esh-util.el index ce309aaaf9e..d7840f6ad56 100644 --- a/lisp/eshell/esh-util.el +++ b/lisp/eshell/esh-util.el @@ -1,7 +1,7 @@ ;;; esh-util.el --- general utilities ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/eshell/esh-var.el b/lisp/eshell/esh-var.el index b116df456bf..0e5f4484279 100644 --- a/lisp/eshell/esh-var.el +++ b/lisp/eshell/esh-var.el @@ -1,7 +1,7 @@ ;;; esh-var.el --- handling of variables ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley @@ -9,7 +9,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -47,7 +47,7 @@ variable value, a subcommand, or even the result of a Lisp form." ;; ;; $ALSO-VAR ;; -;; "-" is a legal part of a variable name. +;; "-" is a valid part of a variable name. ;; ;; $-TOO ;; diff --git a/lisp/eshell/eshell.el b/lisp/eshell/eshell.el index d7910dc252d..5829f3156f2 100644 --- a/lisp/eshell/eshell.el +++ b/lisp/eshell/eshell.el @@ -1,7 +1,7 @@ ;;; eshell.el --- the Emacs command shell ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: John Wiegley ;; Version: 2.4.2 @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -77,7 +77,7 @@ the tasks accomplished by such tools." ;; ;; Eshell is free software; you can redistribute it and/or modify it ;; under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; ;; This program is distributed in the hope that it will be useful, but diff --git a/lisp/expand.el b/lisp/expand.el index c34c18b4483..80104c3482f 100644 --- a/lisp/expand.el +++ b/lisp/expand.el @@ -1,7 +1,7 @@ ;;; expand.el --- make abbreviations more usable ;; Copyright (C) 1995, 1996, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Frederic Lepied ;; Maintainer: Frederic Lepied @@ -11,7 +11,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/ezimage.el b/lisp/ezimage.el index aaf9cabb480..e3982e58f97 100644 --- a/lisp/ezimage.el +++ b/lisp/ezimage.el @@ -1,7 +1,7 @@ ;;; ezimage --- Generalized Image management ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Eric M. Ludlam ;; Keywords: file, tags, tools @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, diff --git a/lisp/facemenu.el b/lisp/facemenu.el index 44f184b12ee..36b577baef5 100644 --- a/lisp/facemenu.el +++ b/lisp/facemenu.el @@ -1,7 +1,7 @@ ;;; facemenu.el --- create a face menu for interactively adding fonts to text ;; Copyright (C) 1994, 1995, 1996, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Boris Goldowsky ;; Keywords: faces @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -541,14 +541,14 @@ argument BUFFER-NAME is nil, it defaults to *Colors*." (insert (car color)) (indent-to 22)) (point) - 'face (cons 'background-color (car color))) + 'face (list ':background (car color))) (put-text-property (prog1 (point) (insert " " (if (cdr color) (mapconcat 'identity (cdr color) ", ") (car color)))) (point) - 'face (cons 'foreground-color (car color))) + 'face (list ':foreground (car color))) (indent-to (max (- (window-width) 8) 44)) (insert (apply 'format "#%02x%02x%02x" (mapcar (lambda (c) (lsh c -8)) diff --git a/lisp/faces.el b/lisp/faces.el index a8c92ab9a75..0eac8945ad6 100644 --- a/lisp/faces.el +++ b/lisp/faces.el @@ -1,7 +1,7 @@ ;;; faces.el --- Lisp faces ;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -;; 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: internal @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -48,8 +48,8 @@ "*A list specifying how face font selection chooses fonts. Each of the four symbols `:width', `:height', `:weight', and `:slant' must appear once in the list, and the list must not contain any other -elements. Font selection tries to find a best matching font for -those face attributes first that appear first in the list. For +elements. Font selection first tries to find a best matching font +for those face attributes that appear before in the list. For example, if `:slant' appears before `:height', font selection first tries to find a font with a suitable slant, even if this results in a font height that isn't optimal." @@ -158,13 +158,18 @@ and for each existing frame. If the optional fourth argument NEW-FRAME is given, copy the information from face OLD-FACE on frame FRAME -to NEW-FACE on frame NEW-FRAME." +to NEW-FACE on frame NEW-FRAME. In this case, FRAME may not be nil." (let ((inhibit-quit t)) (if (null frame) (progn + (when new-frame + (error "Copying face %s from all frames to one frame" + old-face)) + (make-empty-face new-face) (dolist (frame (frame-list)) (copy-face old-face new-face frame)) (copy-face old-face new-face t)) + (make-empty-face new-face) (internal-copy-lisp-face old-face new-face frame new-frame)) new-face)) @@ -201,10 +206,8 @@ The optional argument FRAME is ignored." ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun facep (face) - "Return non-nil if FACE is a face name or internal face object. -Return nil otherwise. A face name can be a string or a symbol. -An internal face object is a vector of the kind used internally -to record face data." + "Return non-nil if FACE is a face name; nil otherwise. +A face name can be a string or a symbol." (internal-lisp-face-p face)) diff --git a/lisp/ffap.el b/lisp/ffap.el index 5bba729fce3..aaf92ebe306 100644 --- a/lisp/ffap.el +++ b/lisp/ffap.el @@ -1,7 +1,7 @@ ;;; ffap.el --- find file (or url) at point ;; Copyright (C) 1995, 1996, 1997, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Michelangelo Grigni ;; Maintainer: FSF @@ -13,7 +13,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -426,7 +426,7 @@ Returned values: ;; (ffap-machine-p "mathcs" 5678 nil 'ping) ;; (ffap-machine-p "foo.bonk" nil nil 'ping) ;; (ffap-machine-p "foo.bonk.com" nil nil 'ping) - (if (or (string-match "[^-[:alnum:].]" host) ; Illegal chars (?) + (if (or (string-match "[^-[:alnum:].]" host) ; Invalid chars (?) (not (string-match "[^0-9]" host))) ; 1: a number? 2: quick reject nil (let* ((domain @@ -969,7 +969,7 @@ If t, `ffap-tex-init' will initialize this when needed.") ;; Slightly controversial decisions: ;; * strip trailing "@" and ":" ;; * no commas (good for latex) - (file "--:$+<>@-Z_[:lower:]~*?" "<@" "@>;.,!:") + (file "--:\\\\$+<>@-Z_[:lower:]~*?" "<@" "@>;.,!:") ;; An url, or maybe a email/news message-id: (url "--:=&?$+@-Z_[:lower:]~#,%;*" "^[:alnum:]" ":;.,!?") ;; Find a string that does *not* contain a colon: @@ -1259,7 +1259,11 @@ which may actually result in an url rather than a filename." )) (setq dir (file-name-directory guess)))) (let ((minibuffer-completing-file-name t) - (completion-ignore-case read-file-name-completion-ignore-case)) + (completion-ignore-case read-file-name-completion-ignore-case) + ;; because of `rfn-eshadow-update-overlay'. + (file-name-handler-alist + (cons (cons ffap-url-regexp 'url-file-handler) + file-name-handler-alist))) (setq guess (completing-read prompt diff --git a/lisp/filecache.el b/lisp/filecache.el index 10942c77f5e..34fbc4372f7 100644 --- a/lisp/filecache.el +++ b/lisp/filecache.el @@ -5,13 +5,13 @@ ;; Keywords: convenience ;; ;; Copyright (C) 1996, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; This file is part of GNU Emacs. ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -780,10 +780,6 @@ match REGEXP." ;; Keybindings ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;;###autoload (define-key minibuffer-local-completion-map [C-tab] 'file-cache-minibuffer-complete) -;;;###autoload (define-key minibuffer-local-map [C-tab] 'file-cache-minibuffer-complete) -;;;###autoload (define-key minibuffer-local-must-match-map [C-tab] 'file-cache-minibuffer-complete) - (provide 'filecache) ;;; arch-tag: 433d3ca4-4af2-47ce-b2cf-1f727460f538 diff --git a/lisp/files.el b/lisp/files.el index 2dbc0c2791a..840ab2f77fa 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -2,7 +2,7 @@ ;; Copyright (C) 1985, 1986, 1987, 1992, 1993, 1994, 1995, 1996, ;; 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007 Free Software Foundation, Inc. +;; 2006, 2007, 2008 Free Software Foundation, Inc. ;; Maintainer: FSF @@ -10,7 +10,7 @@ ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, @@ -59,8 +59,9 @@ FROM with TO when it appears in a directory name. This replacement is done when setting up the default directory of a newly visited file. *Every* FROM string should start with `^'. -Do not use `~' in the TO strings. -They should be ordinary absolute directory names. +FROM and TO should be equivalent names, which refer to the +same directory. Do not use `~' in the TO strings; +they should be ordinary absolute directory names. Use this feature when you have directories which you normally refer to via absolute symbolic links. Make TO the name of the link, and FROM @@ -162,7 +163,7 @@ The truename of a file is found by chasing all links both at the file level and at the levels of the containing directories." :type 'boolean :group 'find-file) -(put 'find-file-visit-truename 'safe-local-variable 'boolean) +(put 'find-file-visit-truename 'safe-local-variable 'booleanp) (defcustom revert-without-query nil "Specify which files should be reverted without query. @@ -216,12 +217,12 @@ have fast storage with limited space, such as a RAM disk." (cond ((and (eq system-type 'ms-dos) (not (msdos-long-file-names))) (concat "^\\([^A-Z[-`a-z]\\|..+\\)?:\\|" ; colon except after drive "[+, ;=|<>\"?*]\\|\\[\\|\\]\\|" ; invalid characters - "[\000-\031]\\|" ; control characters + "[\000-\037]\\|" ; control characters "\\(/\\.\\.?[^/]\\)\\|" ; leading dots "\\(/[^/.]+\\.[^/.]*\\.\\)")) ; more than a single dot ((memq system-type '(ms-dos windows-nt cygwin)) (concat "^\\([^A-Z[-`a-z]\\|..+\\)?:\\|" ; colon except after drive - "[|<>\"?*\000-\031]")) ; invalid characters + "[|<>\"?*\000-\037]")) ; invalid characters (t "[\000]")) "Regexp recognizing file names which aren't allowed by the filesystem.") @@ -449,7 +450,7 @@ use `before-save-hook'.") (defcustom enable-local-variables t "Control use of local variables in files you visit. -The value can be t, nil, :safe, or something else. +The value can be t, nil, :safe, :all or something else. A value of t means file local variables specifications are obeyed if all the specified variable values are safe; if any values are @@ -515,7 +516,10 @@ using \\[toggle-read-only]." :group 'view) (defvar file-name-history nil - "History list of file names entered in the minibuffer.") + "History list of file names entered in the minibuffer. + +Maximum length of the history list is determined by the value +of `history-length', which see.") (put 'ange-ftp-completion-hook-function 'safe-magic t) (defun ange-ftp-completion-hook-function (op &rest args) @@ -554,7 +558,7 @@ See Info node `(elisp)Standard File Names' for more details." (start 0)) ;; Replace invalid filename characters with ! (while (string-match "[?*:<>|\"\000-\037]" name start) - (aset name (match-beginning 0) ?!) + (aset name (match-beginning 0) ?!) (setq start (match-end 0))) name) filename)) @@ -1006,14 +1010,16 @@ documentation for additional customization information." "Switch to buffer BUFFER in another frame. Optional second arg NORECORD non-nil means do not put this buffer at the front of the list of recently selected ones. +This function returns the buffer it switched to. This uses the function `display-buffer' as a subroutine; see its documentation for additional customization information." (interactive "BSwitch to buffer in other frame: ") (let ((pop-up-frames t) same-window-buffer-names same-window-regexps) - (pop-to-buffer buffer t norecord) - (raise-frame (window-frame (selected-window))))) + (prog1 + (pop-to-buffer buffer t norecord) + (raise-frame (window-frame (selected-window)))))) (defun display-buffer-other-frame (buffer) "Switch to buffer BUFFER in another frame. @@ -1068,6 +1074,13 @@ Interactively, the default if you just type RET is the current directory, but the visited file name is available through the minibuffer history: type M-n to pull it into the minibuffer. +You can visit files on remote machines by specifying something +like /ssh:SOME_REMOTE_MACHINE:FILE for the file name. You can +also visit local files as a different user by specifying +/sudo::FILE for the file name. +See the Info node `(tramp)Filename Syntax' in the Tramp Info +manual, for more about this. + Interactively, or if WILDCARDS is non-nil in a call from Lisp, expand wildcards (if any) and visit multiple files. You can suppress wildcard expansion by setting `find-file-wildcards' to nil. @@ -1082,8 +1095,9 @@ automatically choosing a major mode, use \\[find-file-literally]." (defun find-file-other-window (filename &optional wildcards) "Edit file FILENAME, in another window. -May create a new window, or reuse an existing one. -See the function `display-buffer'. + +Like \\[find-file] (which see), but creates a new window or reuses +an existing one. See the function `display-buffer'. Interactively, the default if you just type RET is the current directory, but the visited file name is available through the minibuffer history: @@ -1102,8 +1116,9 @@ expand wildcards (if any) and visit multiple files." (defun find-file-other-frame (filename &optional wildcards) "Edit file FILENAME, in another frame. -May create a new frame, or reuse an existing one. -See the function `display-buffer'. + +Like \\[find-file] (which see), but creates a new frame or reuses +an existing one. See the function `display-buffer'. Interactively, the default if you just type RET is the current directory, but the visited file name is available through the minibuffer history: @@ -1122,7 +1137,7 @@ expand wildcards (if any) and visit multiple files." (defun find-file-existing (filename) "Edit the existing file FILENAME. -Like \\[find-file] but only allow a file that exists, and do not allow +Like \\[find-file], but only allow a file that exists, and do not allow file names with wildcards." (interactive (nbutlast (find-file-read-args "Find existing file: " t))) (if (and (not (interactive-p)) (not (file-exists-p filename))) @@ -1132,7 +1147,7 @@ file names with wildcards." (defun find-file-read-only (filename &optional wildcards) "Edit file FILENAME but don't allow changes. -Like \\[find-file] but marks buffer as read-only. +Like \\[find-file], but marks buffer as read-only. Use \\[toggle-read-only] to permit editing." (interactive (find-file-read-args "Find file read-only: " nil)) (unless (or (and wildcards find-file-wildcards @@ -1147,7 +1162,7 @@ Use \\[toggle-read-only] to permit editing." (defun find-file-read-only-other-window (filename &optional wildcards) "Edit file FILENAME in another window but don't allow changes. -Like \\[find-file-other-window] but marks buffer as read-only. +Like \\[find-file-other-window], but marks buffer as read-only. Use \\[toggle-read-only] to permit editing." (interactive (find-file-read-args "Find file read-only other window: " nil)) (unless (or (and wildcards find-file-wildcards @@ -1162,7 +1177,7 @@ Use \\[toggle-read-only] to permit editing." (defun find-file-read-only-other-frame (filename &optional wildcards) "Edit file FILENAME in another frame but don't allow changes. -Like \\[find-file-other-frame] but marks buffer as read-only. +Like \\[find-file-other-frame], but marks buffer as read-only. Use \\[toggle-read-only] to permit editing." (interactive (find-file-read-args "Find file read-only other frame: " nil)) (unless (or (and wildcards find-file-wildcards @@ -1179,6 +1194,8 @@ Use \\[toggle-read-only] to permit editing." "Find file FILENAME as a replacement for the file in the next window. This command does not select that window. +See \\[find-file] for the possible forms of the FILENAME argument. + Interactively, or if WILDCARDS is non-nil in a call from Lisp, expand wildcards (if any) and replace the file with multiple files." (interactive @@ -1204,6 +1221,8 @@ expand wildcards (if any) and replace the file with multiple files." If the current buffer now contains an empty file that you just visited \(presumably by mistake), use this command to visit the file you really want. +See \\[find-file] for the possible forms of the FILENAME argument. + Interactively, or if WILDCARDS is non-nil in a call from Lisp, expand wildcards (if any) and replace the file with multiple files. @@ -1886,7 +1905,7 @@ since only a single case-insensitive search through the alist is made." ;; c++-mode, java-mode and more) are added through autoload ;; directives in that file. That way is discouraged since it ;; spreads out the definition of the initial value. - (mapc + (mapcar (lambda (elt) (cons (purecopy (car elt)) (cdr elt))) `(;; do this first, so that .html.pl is Polish html, not Perl @@ -1976,6 +1995,7 @@ since only a single case-insensitive search through the alist is made." ("\\.ds\\(ss\\)?l\\'" . dsssl-mode) ("\\.js\\'" . java-mode) ; javascript-mode would be better ("\\.x[bp]m\\'" . c-mode) + ("\\.d?v\\'" . verilog-mode) ;; .emacs or .gnus or .viper following a directory delimiter in ;; Unix, MSDOG or VMS syntax. ("[]>:/\\]\\..*\\(emacs\\|gnus\\|viper\\)\\'" . emacs-lisp-mode) @@ -1985,6 +2005,8 @@ since only a single case-insensitive search through the alist is made." ("[:/]_emacs\\'" . emacs-lisp-mode) ("/crontab\\.X*[0-9]+\\'" . shell-script-mode) ("\\.ml\\'" . lisp-mode) + ;; Common Lisp ASDF package system. + ("\\.asd\\'" . lisp-mode) ("\\.\\(asn\\|mib\\|smi\\)\\'" . snmp-mode) ("\\.\\(as\\|mi\\|sm\\)2\\'" . snmpv2-mode) ("\\.\\(diffs?\\|patch\\|rej\\)\\'" . diff-mode) @@ -2007,9 +2029,12 @@ since only a single case-insensitive search through the alist is made." ("java.+\\.conf\\'" . conf-javaprop-mode) ("\\.properties\\(?:\\.[a-zA-Z0-9._-]+\\)?\\'" . conf-javaprop-mode) ;; *.cf, *.cfg, *.conf, *.config[.local|.de_DE.UTF8|...], */config - ("[/.]c\\(?:on\\)?f\\(?:i?g\\)?\\(?:\\.[a-zA-Z0-9._-]+\\)?\\'" . conf-mode) + ("[/.]c\\(?:on\\)?f\\(?:i?g\\)?\\(?:\\.[a-zA-Z0-9._-]+\\)?\\'" . conf-mode-maybe) ("\\`/etc/\\(?:DIR_COLORS\\|ethers\\|.?fstab\\|.*hosts\\|lesskey\\|login\\.?de\\(?:fs\\|vperm\\)\\|magic\\|mtab\\|pam\\.d/.*\\|permissions\\(?:\\.d/.+\\)?\\|protocols\\|rpc\\|services\\)\\'" . conf-space-mode) ("\\`/etc/\\(?:acpid?/.+\\|aliases\\(?:\\.d/.+\\)?\\|default/.+\\|group-?\\|hosts\\..+\\|inittab\\|ksysguarddrc\\|opera6rc\\|passwd-?\\|shadow-?\\|sysconfig/.+\\)\\'" . conf-mode) + ;; ChangeLog.old etc. Other change-log-mode entries are above; + ;; this has lower priority to avoid matching changelog.sgml etc. + ("[cC]hange[lL]og[-.][-0-9a-z]+\\'" . change-log-mode) ;; either user's dot-files or under /etc or some such ("/\\.?\\(?:gnokiirc\\|kde.*rc\\|mime\\.types\\|wgetrc\\)\\'" . conf-mode) ;; alas not all ~/.*rc files are like this @@ -2051,6 +2076,16 @@ See also `interpreter-mode-alist', which detects executable script modes based on the interpreters they specify to run, and `magic-mode-alist', which determines modes based on file contents.") +(defun conf-mode-maybe () + "Select Conf mode or XML mode according to start of file." + (if (save-excursion + (save-restriction + (widen) + (goto-char (point-min)) + (looking-at "<\\?xml \\| although it's not clear what + ;; "..." can contain. It used to accept -- ... -- as well, but that was + ;; apparently a mistake. + (set (make-local-variable 'comment-start-skip) "